我正在开发Laravel API,但很难找到以下问题的正确答案。问题是当我查询组/联接端点时遇到以下错误。
InvalidArgumentException: Route [login] not defined. in file\vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php on line 372
当我查询GroupController @ getAll时,我正在从数据库中获取结果。因此,现在我对下一步的操作感到有些慌张。
我的组控制器代码(仅已实现的请求)
/**
* @param CreateGroupRequest $request
*/
public function createGroup(CreateGroupRequest $request){
$data = $request->get('group', []);
}
/*
* @param JoinGroupUserRequest $request
*/
public function joinGroup(JoinGroupUserRequest $request){
$group_id = $request->group_id;
$user_id = $request->user_id;
$data = $this->groupService->joinGroup($group_id, $user_id);
return response()->json([], 201);
}
我的网上论坛存储库
class GroupRepository{
/*
Get a new instance of empty Group Model
*/
public function GetModel(){
return new Group();
}
/**
* @param int $private
* @return mixed
*/
public function GetAllGroups($private = 0){
$groups = Group::where('group_private', $private)->get();
return $groups;
}
/**
* @param array $data
* @return Group
*/
public function CreateGroup(array $data){
$group = $this->GetModel();
$group->fill($data);
$group->save();
return $group;
}
public function AddUserToGroup(int $group_id, int $user_id){
$group_user = new GroupUsers();
$group_user->group_id = $group_id;
$group_user->user_id = $user_id;
$group_user->save();
return $group_user;
}
}
我的GroupService
class GroupService
{
private $groupRepository;
/**
* GroupService constructor.
* @param php $groupRepository
*/
public function __construct(GroupRepository $groupRepository){
$this->groupRepository = $groupRepository;
}
/*
* Gets all Groups
*/
public function getAll()
{
return $this->groupRepository->GetAllGroups();
}
public function joinGroup($group_id, $user_id){
return $this->groupRepository->AddUserToGroup($group_id, $user_id);
}
}
我的api路线
Route::group(['middleware' => 'web', 'prefix' => 'auth'], function () {
Route::post('login', 'AuthController@login');
Route::post('signup', 'AuthController@signup');
Route::get('social/{provider}', 'AuthController@signupSocial');
Route::get('callback/{service}', 'AuthController@callback');
Route::group(['middleware' => 'auth:api'], function() {
Route::get('logout', 'AuthController@logout');
Route::get('user', 'AuthController@user');
});
});
Route::group(['middleware' => 'auth:api', 'prefix' => 'group'], function () {
Route::get('/', 'GroupController@getAll');
Route::post('join', 'GroupController@joinGroup');
});
邮递员请求
POST /api/group/join HTTP/1.1
Host: localhost:8000
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjBhNThiOWY4NTBmZTNmNDZmMTQzYmM2NmY1NzVkZThkMTRiOGFhZjZjMWU5ZThiMjJjNDU3N2QzNmYxYTgyM2JkMjJiMTMzNzBhODcyODAxIn0.eyJhdWQiOiIzIiwianRpIjoiMGE1OGI5Zjg1MGZlM2Y0NmYxNDNiYzY2ZjU3NWRlOGQxNGI4YWFmNmMxZTllOGIyMmM0NTc3ZDM2ZjFhODIzYmQyMmIxMzM3MGE4NzI4MDEiLCJpYXQiOjE1MzM2NjY3NjIsIm5iZiI6MTUzMzY2Njc2MiwiZXhwIjoxNTY1MjAyNzYyLCJzdWIiOiI2Iiwic2NvcGVzIjpbXX0.s96tp1nxYJoXV8j1JNsmPKz0yw0qF1G13v2581HU6uVt5WJkOdXF4ysOQdccIaBDO05CPwqtzjtjgGDV41EuCWgXeT0qYJwPtZzx6OhYmeZiSlsYvC69ttxWRMFIefpX1tEZH0CaFVTV0ZaMpuwBdY7ElDxjM_XWuApFIyouqvNudKrMT0DztY1HrzOeqzzLBZgJbsrrTEnndq37TpXaFBjMfy0GCEt1RFNuGEkws1cQo4SBVt4Zbqdevmyo6kJ2rFMjOn6YdDVg-eYE08X1Qn-51fuHabgKy33_UnwvBATNpF0DgzjmaD7s9C0u8B1T9VIEdRnL6Fr9nVDaIV9aTcSozA-xdLQ7CLNgGLxkilw5Pm4tjo75-UcD-xMdvJ4APWMzk1R4VHa11JjPUzs_4aVLegwE3apExYxjMXO4wC0pyxUoY-1QvVloUEbckx2iJI91P16aKgvKl8IgxjZZdeYVjLwc6IRAHtF4Rv0PXSD6t_1IDSZydiu7s_mT0p3rRxF59bNC23O1QOtdKsYB6Bk1T9mdxG5ndTX_v2HqPZyhjuZQzmOJUH6GotkRPvcWldN-g0kKwA4dF2cYVA7el4RXge_bAAUbbas3l0pWuMNBJEfW78Kh7mmG9oJjj5Qipqzd7clWRhtkUyOikHPvIrJyLdNVdFNyfOeHesjWeaU
Cache-Control: no-cache
Postman-Token: c4b9178e-f64c-4146-ab7f-7453961e11f7
{
"group_id": "1",
"user_id": "1"
}
现在我尝试的是
有人可以把我推向正确的方向吗?
答案 0 :(得分:0)
解决方案是在application / json中添加Accept标头