在 Lumen API 中接受带有删除请求的表单数据

Posted

技术标签:

【中文标题】在 Lumen API 中接受带有删除请求的表单数据【英文标题】:Accepting Form-Data with Delete Request in Lumen API 【发布时间】:2018-11-12 21:06:20 【问题描述】:

我在 lumen api 中使用 DELETE 方法 接受 form-data 请求时遇到问题。

通过POST方法发送的form-data请求可以成功获取。

但是当我发送数据时:

Content-Type : application/x-www-form-urlencoded
or
Content-Type : application/json

我正在获取数据。

为了更清楚 - 例如,如果我想删除 id 的产品: 我会传递带有 body 值的 id,例如 -

<input type="hidden" name="id" value="5" />

在控制器中:

public function destroy(Request $request)

   $id = $request->id;

我的路线:

$router->delete('categories', ['uses' => '\ProductController@destroy']);

是否有任何其他配置可以使其与 删除方法上的表单数据请求一起使用?

【问题讨论】:

【参考方案1】:

使用表单数据时,仅支持 GETPOST 请求。

如果你想发出一个PUT/PATCH/DELETE 请求,你必须添加一个名为_method 的隐藏输入和所需的http 动词作为值。

例如:

&lt;input type="hidden" name="_method" value="DELETE"&gt; 用于 DELETE 请求。

【讨论】:

嗯,这适用于 laravel 到 laravel 或 lumen,我正在尝试制作一个带有 lumen 的 API,以允许将各种表单数据传递给方法,而前端是基于 angular 5 构建的,并且我正在使用 POSTMAN 测试我的 api,我无法在 DELETE 方法中使用表单数据提供数据

以上是关于在 Lumen API 中接受带有删除请求的表单数据的主要内容,如果未能解决你的问题,请参考以下文章

使用 superagent 和 Lumen API 被 CORS 策略阻止的请求

用lumen构建API的相关流程

带有 Angular 的 Lumen API,加载资源 HTTP 失败

尝试删除 id 数组时,删除请求 api 在控制台中显示错误

用于 api 的 Laravel/Lumen 电子邮件修剪

Facebook API 使用带有多部分表单数据的 HTTP POST 请求的错误响应