Laravel路由,api和Web用例

问题描述 投票:0回答:1

[我正在努力围绕Web路由和api路由的用例。

到目前为止,据我了解

1)Web路由,当我们要返回视图时使用。

2)Api路由,当我们要返回json(Api资源/集合)时使用。

然而,这两种情况均指的是GET请求。

当我们发出POSTPUT请求时,我们是否将这些路由放在api.phpweb.php中。它是否取决于请求是否通过AJAX调用?

此外,我不知道在什么情况下应该使用api中间件和web中间件默认情况下,web.php使用web中间件,而api.php使用api中间件

在已经登录并且要进行AJAX调用的情况下,是否必须将该路由放入api.phpweb.php

仅当我们使用基于令牌的身份验证登录时,才使用api中间件吗?

laravel laravel-routing laravel-api
1个回答
0
投票

您可以使用相同的逻辑来说明对两种类型的POSTPUT请求的使用:

API路由

APIPOST/ PUT请求将创建/更新一些实体并返回JSON响应,例如为POST创建的新模型,或为PUT的更新的模型。

return response()->json($model);

这在您具有调用AJAX请求的javascript代码的情况下很有用。将数据发送到API端点时,您应该收到状态200,其中包含您刚刚创建/更新的模型的JSON表示形式。然后,您的javascript代码决定下一步要做什么,例如关闭弹出窗口。

网络路线

WebPOST/ PUT请求也将创建/更新某些实体,但通常会返回到新页面的重定向:

session()->flash('alert', 'Model X has been updated!');
return redirect()->to('someurl');
// or
return redirect()->route('my.route.name');

POST /PUTweb.php中的路由使用简单的<form action="..." method="POST'>形式调用。在这里,Javascript是从等式中删除的,因此表单提交会将您的表单数据发送到给定的端点,并将响应直接返回到您的浏览器(可能是名为my.route.name的视图)。

© www.soinside.com 2019 - 2024. All rights reserved.