POST调用在Laravel中返回404

问题描述 投票:-3回答:2

我正在创建注册Api第一个电话是GET,第二个是POST电话。当我进行GET [POSTMAN]调用时,我得到了来自控制器的正确响应,但是当我进行POST时它返回404。

web.php

// sign up api

Route::get('signup','Api\RegistrationController@createUser');
Route::post('/signup','Api\RegistrationController@storeUser');

RegistrationController.php

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。

Screenshot : its a POST call but GET route executed

php laravel-5 laravel-5.4
2个回答
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路由。


0
投票

将所有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());
}
© www.soinside.com 2019 - 2024. All rights reserved.