Laravel 5.4 routes/api.php POST方法不允许HttpException

Laravel 5.4 routes/api.php POST方法不允许HttpException,php,laravel,api,Php,Laravel,Api,我正在使用Laravel5.4为android/ios编写API。我的简单Web服务注册在本地主机上运行良好,而不是在实时服务器上运行,并且 MethodNotAllowedHttpException在POST方法上 GET call功能完美 路线代码 Route::post('/signUp',['uses'=>'API_UserController@userSignUp']); 附件是我的邮递员的屏幕截图链接。 @Mujeeb-Ur-Rehman-Post方法用于发送数据,get方法

我正在使用Laravel5.4为android/ios编写API。我的简单Web服务注册在本地主机上运行良好,而不是在实时服务器上运行,并且

MethodNotAllowedHttpException在POST方法上

GET call功能完美

路线代码

Route::post('/signUp',['uses'=>'API_UserController@userSignUp']);
附件是我的邮递员的屏幕截图链接。
@Mujeeb-Ur-Rehman-Post方法用于发送数据,get方法用于访问视图中的数据或仅渲染视图

  eg:-route:post('/home',xxController@xx);
  route:get('/home1',xxController@xx);

您得到的错误是,假设您将其url设置为localhost/xx/home,您的框架会认为访问数据或发布数据框架会在这一点上产生混淆。

@Mujeeb-Ur-Rehman-post方法用于发送数据,get方法用于访问视图中的数据或只是渲染视图

  eg:-route:post('/home',xxController@xx);
  route:get('/home1',xxController@xx);
您得到的错误是因为假设您的url类似于localhost/xx/home,您的框架认为访问数据或发布数据的框架会在这方面混淆,请这样使用

Route::group(['prefix' => 'v1'], function () {
     Route::post('/signUp','API_UserController@userSignUp');
    });
当你点击via postman tour URL时,只需添加一个前缀,它就会自动添加到你的URL中。在路由组中,u还可以使用许多其他东西,如名称空间、中间件等。例如:

Route::group(['namespace' => 'any_depend_on_your_project_structure', 'middleware' => 'any_middleware', 'prefix' => 'v1'], function() {
// your routes
});
就这样用吧

Route::group(['prefix' => 'v1'], function () {
     Route::post('/signUp','API_UserController@userSignUp');
    });
当你点击via postman tour URL时,只需添加一个前缀,它就会自动添加到你的URL中。在路由组中,u还可以使用许多其他东西,如名称空间、中间件等。例如:

Route::group(['namespace' => 'any_depend_on_your_project_structure', 'middleware' => 'any_middleware', 'prefix' => 'v1'], function() {
// your routes
});

下面是流的快速示例,请尝试以下操作

   <form action="{{url('v1/userSignUp')}}" class="validation"  method="post" 
    accept-charset="utf-8">
                  {{ csrf_field() }}
                    <div>
                    // your required form field
      <input type="submit"  value="Add Category"  class="btn btn-primary" />
                    </div>
          </form>
在你的API_用户控制器中

    public function userSignUp()
     {
    dd(request->all());
}

下面是流的快速示例,请尝试以下操作

   <form action="{{url('v1/userSignUp')}}" class="validation"  method="post" 
    accept-charset="utf-8">
                  {{ csrf_field() }}
                    <div>
                    // your required form field
      <input type="submit"  value="Add Category"  class="btn btn-primary" />
                    </div>
          </form>
在你的API_用户控制器中

    public function userSignUp()
     {
    dd(request->all());
}


我没有看到屏幕截图,但您是否附加了csrf令牌?清除服务器上的缓存
php artisan缓存:clear
和路由缓存
php artisan路由:缓存
,然后try@RAUSHANKUMAR我已经试过了添加代码,你怎么称呼这个route@RAUSHANKUMAR我是邮递员打来的,这是一个POST请求我看不到屏幕截图,但您是否附加了csrf令牌?清除服务器上的缓存
php artisan缓存:clear
和路由缓存
php artisan路由:缓存
,然后try@RAUSHANKUMAR我已经试过了添加代码,你怎么称呼这个route@RAUSHANKUMAR我是邮递员打来的,这是一个帖子抱歉我没有完全理解,你能告诉我我应该如何写我的路线吗?@mujeeberrehman如果你想提交到数据库或任何逻辑,例如:-比较或条件任何需要业务逻辑的东西,我的意思是说,如果你想发送一些数据到控制器,那么你需要post方法,它不是在视图上呈现的,我的意思是它将在后端工作,但如果你要在前端查看某些内容,请使用get方法如果从渲染视图发送,您的方法将起作用,但如果您尝试直接从url访问它,则该方法将不起作用使用此一路由::post(“/signUp”,“API_UserController@userSignUp'); 希望这会有所帮助:post(“/signUp”,“API_UserController@userSignUp'); 也不起作用:(@MujeebUrRehman你能解决你的问题吗?我也有同样的问题!!对不起,我没有完全理解,你能告诉我应该如何写我的路线吗?@MujeebUrRehman如果你想提交到数据库或任何逻辑,例如:-比较或条件任何需要业务逻辑的东西,我的意思是如果你想发送一些数据给控制器然后你需要post方法,它不是在视图上呈现的,我的意思是它在后端可以工作,但是如果你想在前端看到一些东西,那么使用get方法如果你从呈现视图发送它,你的方法可以工作,但如果你试图直接从url访问它,它将不工作使用这个路由::post(“/signUp”,“API_UserController@userSignUp);希望这会有所帮助:post('/signUp',API_UserController@userSignUp);也不起作用:(@mujeeberrehman)你能解决你的问题吗?我也有同样的问题!!我正在使用前缀和命名空间,它们可以很好地用于GET api调用,但是POST api调用提供MethodNotFoundException你可以为GET success调用附加一个屏幕截图这是在你的POST调用头中成功GET调用的屏幕截图链接包含两个数据可以您向他们展示或再次检查他们是否没有问题我正在使用前缀和名称空间,它们在GET api调用中工作正常,但POST api调用提供了MethodNotFoundException您可以为GET success调用附加一个屏幕截图这是成功GET调用的屏幕截图在您的POST call标头中包含两个数据,可以吗向他们展示或再次检查,他们没有任何问题。我已经告诉过你,这只是api调用,我正在为移动应用编写api,不包括任何视图或表单。我正在邮递员上测试它……顺便说一句,感谢你的努力。我已经告诉过你,这只是api调用,我正在为移动应用编写api,并且在不包括任何意见或形式。我正在测试它的邮递员…顺便说一句,谢谢你的斗争