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

时间:2018-07-06 10:30:58

标签: php laravel postman

我的路线:

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']]);

UserController:

<?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) {           
    }
}

我想访问POSTMAN上的me函数。这是一个宁静的API项目。

但是当我尝试这样时,出现错误:

  

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

我的laravel版本是5.6。

如何使用Postman上的路由在me中调用UserController函数

1 个答案:

答案 0 :(得分:3)

替换:

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

使用:

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

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