我正在创建注册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。如果路由网址保持相同(即注册),则GET方法将执行POST调用;如果路由网址不同,则返回404。
答案 0 :(得分:1)
尝试一下,让我知道:
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路由。
答案 1 :(得分:0)
对于api请求,您不应使用扩展FormRequest的自定义Http请求,而应使用
use Illuminate\Http\Request;