Laravel:路线目录中的API.PHP



我有点困惑,我的Web应用程序具有登录,注册,注销。一些仪表板的视图等(crud(,我也想为此应用程序制作API。

就像第三方使用的API一样,可以更新记录,可以删除记录等。

实际上应该有某种方法可以用移动应用程序用于crud。

我知道我们有该路由/api.php,但是我很困惑何时使用它。请解释情况,我空白。

更新:

方案

具有视图,身份验证系统等的应用程序, Android应用如何在同一应用程序上执行CRUD操作

1.WEB路由使用会话状态,CSRF保护。这是否意味着API路由不使用会话状态,CSRF保护?

一切可能但不需要。您仍然可以使用会议等,但这是违反休息原则。

2.Laravel 5.3使用单独的网络和API路由,是否有任何优点?

这只是为了方便。在Laravel 5.2中,您需要为['Web']或['api']等路线指定中间件,但不再需要中间件。在存储在分离的文件中的5.3路线中,并指定不需要的中间件路线。

如果您在api.php中指定路由,则需要使用auth:api middleware。例如:

Route::group(['middleware' => ['auth:api']], function () {
        Route::get('/test', function (Request $request) {
             return response()->json(['name' => 'test']);
        });
    });

关于令牌auth和laravel 5.3的注释:

如果您已经设置了Laravel的默认身份验证系统,则还需要在用户表中添加API_Token的列。如果您使用的是DB播种机,则可能需要添加以下内容:

$table->char('api_token', 60)->nullable(); 

向您的用户表播种机。另外,只需手动添加列,然后用随机的60-Char键填充该列。

提出请求时,您可以将API_Token添加为url/querystring参数,例如:

domain.com/api/test?api_token=[your 60 char key].

您也可以将密钥作为标头发送(如果使用Postman或类似(,即:标题:授权,值:持票人[您的60 char键]。

我下令如果令牌不正确,请发送有用的错误,也将所有请求发送以下标题:

Header: Accept, Value: application/json. This allows the expectsJson() check in the unauthenticated() function inside App/Exceptions/Handler.php to work correctly.

相关内容

  • 没有找到相关文章