首页 > 解决方案 > App\Http\Controllers\User\UserController::me@index 不存在

问题描述

我的路线:

Route::resource('users/me', 'User\UserController@me');
Route::resource('users', 'User\UserController', ['except' => ['edit', 'create']]);
Route::resource('users.assistants', 'User\UserAssistantController', ['only' => ['index', 'store', 'destroy']]);
Route::resource('users.digital_cases', 'User\UserDigitalCaseController', ['only' => ['index']]);
Route::resource('users.lessons', 'User\UserLessonController', ['only' => ['index']]);

用户控制器:

<?php

namespace App\Http\Controllers\User;

use App\Transformers\UserTransformer;
use App\User;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Http\Request;
use App\Http\Controllers\ApiController;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\File;

class UserController extends ApiController {
    public function __construct() {
//        parent::__construct();
    }

    public function index(Request $request) {
    }

    public function me() {
        dd('hello');
        return $this->showOne([Auth::user()]);
    }

    public function store(Request $request) {
    }

    public function show(User $user) {
    }    

    public function update(Request $request, User $user) {
    }

    public function destroy(Request $request, $id) {           
    }
}

我想访问mePOSTMAN 上的功能。这是一个宁静的 API 项目。

但是当我试图喜欢这个时,我得到了一个错误:

App\Http\Controllers\User\UserController::me@index 不存在。

我的 laravel 版本是 5.6。

如何在 Postman 上使用 Route 时调用me函数UserController

标签: phplaravelpostman

解决方案


代替:

Route::resource('users/me', 'User\UserController@me');

和:

Route::get('users/me', 'User\UserController@me');

为什么?resource是 HTTP 动词列表和控制器中方法列表的快捷方式。


推荐阅读