我想根据请求方法路由请求(GET,POST,PATCH,DELETE,PUT)
我怎么在野狗队做这个?
我试过这个,但它没有用。
$api = app('Dingo\Api\Routing\Router');
$api->get('users', 'UserController@index', ['only' => [ 'index']]);
答案 0 :(得分:2)
路由的工作方式与在Laravel / Lumen中的工作方式完全相同(取决于您使用此pacakge的位置)。
您的代码部分正确无误。使用$api->get
时,您只需提供它响应的URI以及应采取的操作。第三个参数不是必需的。
所以看起来应该是这样的:
$api->get('users', 'UserController@index');
现在,当您浏览/api/users
时,它会查找UserController
并使用index
方法。值得注意的是,您可能需要将完整的命名空间包含在控制器中,例如,App\Http\Controllers
以便进行全新的Laravel安装。
您也可以使用其他HTTP动词,就像在Laravel / Lumen中一样。
$api->post('users', 'UserController@create');
最后,您可以使用资源控制器,这是您的示例中第三个参数。
$api->resource('users', 'UserController', ['only' => ['index', 'create']]);
注意:所有这些必须包含在API版本组中,例如$api->version('v1', function ($api) { });