流明与 GET 请求不一致的行为
Lumen inconsistent behaviour with GET request
对于我正在写的API,在我的路由文件中我有:
$app->get('item/{id}', 'ApiController@item');
$app->get('groupitems/{group}', 'ApiController@groupItems');
在我的控制器中,我有两个相关的功能:
public function item($id, Request $request)
{
if ($this->isAuthorised($request->input('tenant_id'), $request->input('api_code'))) {
$item = Line::find($id);
if ($item) { ...
public function groupItems($id, Request $request)
{
if ($this->isAuthorised($request->input('tenant_id'), $request->input('api_code'))) {
$items = Line::where('tenant_id', $request->input('tenant_id'))->where('publish', true) ...
调用的方式完全相同,例如:
http://api.artlook.com/groupitems/29?tenant_id=2&api_code=o9rty43
请不要尝试,因为 URL 目前仅在本地服务器上。
我的第一个函数运行完美。第二个returns一个错误异常
Argument 2 passed to groupItems() must be an instance of Illuminate\Http\Request, string given
但它们是相同的并且在同一个控制器中。帮忙?
这里的问题是,您已将参数名称声明为 {group}
。因此,您需要将参数变量设置为该名称:
public function groupItems($group, Request $request)
...
对于我正在写的API,在我的路由文件中我有:
$app->get('item/{id}', 'ApiController@item');
$app->get('groupitems/{group}', 'ApiController@groupItems');
在我的控制器中,我有两个相关的功能:
public function item($id, Request $request)
{
if ($this->isAuthorised($request->input('tenant_id'), $request->input('api_code'))) {
$item = Line::find($id);
if ($item) { ...
public function groupItems($id, Request $request)
{
if ($this->isAuthorised($request->input('tenant_id'), $request->input('api_code'))) {
$items = Line::where('tenant_id', $request->input('tenant_id'))->where('publish', true) ...
调用的方式完全相同,例如:
http://api.artlook.com/groupitems/29?tenant_id=2&api_code=o9rty43
请不要尝试,因为 URL 目前仅在本地服务器上。
我的第一个函数运行完美。第二个returns一个错误异常
Argument 2 passed to groupItems() must be an instance of Illuminate\Http\Request, string given
但它们是相同的并且在同一个控制器中。帮忙?
这里的问题是,您已将参数名称声明为 {group}
。因此,您需要将参数变量设置为该名称:
public function groupItems($group, Request $request)
...