我正在创建注册Api第一个电话是GET,第二个是POST电话。当我进行GET [POSTMAN]调用时,我得到了来自控制器的正确响应,但是当我进行POST时它返回404。
// sign up api
Route::get('signup','Api\RegistrationController@createUser');
Route::post('/signup','Api\RegistrationController@storeUser');
public function createUser(){
return "Get : Sign up";
}
public function storeUser() {
// validate the form
$this->validate(request(),[
'firstname' => 'required',
'lastname' => 'required',
'email' => 'required',
'password' => 'required'
]);
// create and save the user
$user = Register::create(request(['firstname', 'lastename', 'email', 'password']));
return "Registration complete";
}
我正在使用laravel 5.4。当路由url保持相同(即注册)时,GET方法执行POST调用,当路由url不同时返回404。
试试这个让我知道:
use Illuminate\Http\Request;
public function storeUser(Request $request) {
// validate the form
$this->validate($request,[
'firstname' => 'required',
'lastname' => 'required',
'email' => 'required',
'password' => 'required'
]);
// create and save the user
$user = Register::create($request->all());
return "Registration complete";
}
注意:开发api时总是在api.php文件中定义Api路由。
将所有API路由写入api.php文件而不是web.php
use Illuminate\Http\Request;
public function storeUser(Request $request) {
// first check whether your request is coming here or not
// if not coming
// it is the issue of Routing
dd('coming..');
//if it prints coming then comment this dd
$this->validate($request,[
'firstname' => 'required',
'lastname' => 'required',
'email' => 'required',
'password' => 'required'
]);
$user = Register::create($request->all());
}