我对api发出的请求有问题,我想要这样的json返回:
{
"message": "OK",
"data": [
User,
...
],
"pager": {
"current": integer,
"total": integer
}
}
这是我的数据库中的用户列表。
我使用邮递员,我无法真正理解我尝试使用google找到解决方案的问题,但没有任何具体说明。所以我想知道我在做什么错。
public function getListUser(Request $request)
{
$pseudo = $request["pseudo"];
$perpage = $request["perpage"];
$users = User
::select('username','pseudo','id','email')
->where('pseudo','LIKE',$pseudo.'%')
->paginate($perpage);
return response()->json([
'message'=>'OK',
'data'=>$users->items(),
'current'=>$users->currentPage(),
'total' => $users->lastpage()
]
,200);
}
我尝试获取参数:
答案 0 :(得分:2)
您正在尝试错误地获取查询参数。来自documentation:
从查询字符串中检索输入
虽然输入法从整个请求有效载荷中检索值 (包括查询字符串),
query
方法将仅检索 查询字符串中的值:$name = $request->query('name');
尝试这种方式:
$pseudo = $request->query('pseudo');
$perpage = $request->query('perpage');
答案 1 :(得分:1)
使用
$pseudo = $request->pseudo;
$perpage = $request->perpage;
答案 2 :(得分:1)
如果要以数组形式访问请求参数,则需要更改:
use Illuminate\Support\Facades\Request;
收件人:
use Illuminate\Http\Request;
如果您不能停止使用外墙,则可以使用instance
。您将不再需要参数:
public function getListUser()
{
$request = Request::instance();
$pseudo = $request["pseudo"];
$perpage = $request["perpage"];
...
}
答案 3 :(得分:0)
使用Input Facade
get方法
use Illuminate\Support\Facades\Input;
$pseudo = Input::get('pseudo');
$perpage = Input::get('perpage');