gpt4 book ai didi

php - 在 slim 2 中同时支持 POST 数据和 JSON 格式的请求

转载 作者:可可西里 更新时间:2023-10-31 23:38:44 26 4
gpt4 key购买 nike

我正在维护一个用 slim 2 编写的后端 API。该 api 主要由移动应用程序使用,因此我希望从发送请求作为 POST 数据切换到发送 JSON 格式化的字符串。这将简化 api,因为应用程序当前发送数组,甚至 json 字符串作为发布数据变量。

虽然发布移动应用程序更新并切换到 json 格式的 POST 请求很简单,但后端 API 必须在一段时间内继续支持这两种格式,直到所有用户更新他们的应用程序。

我正在寻找一个 $app->request->post() 的替换函数,它将根据 post 数据或 json 数据获取请求参数客户端发送的内容类型。

例如,我使用 $app->request->post('user_id', 0); 从发布数据中获取变量。

got安装到我的 api 中,它确实将 json 主体转换为数组。问题是现在我的每个 api 函数都必须检查 $app->json_body 数组或 $app->request->post 函数来检索请求参数.

例如:

$app->get('/settings', function () use($app, $freeze)
{
if ($app->json_body != null) {
$user_id = $app->json_body['user_id'];
} else {
$user_id = $app->request->post('user_id', 0);
}
}

创建一个执行此操作的全局函数非常简单,但我希望在 slim 的 $app 实例上拥有该函数。

最佳答案

您可以尝试使用 https://github.com/slimphp/Slim-Middleware并确保带有 JSON 正文的请求包含正确的 Content-Type: application/json header 。

关于php - 在 slim 2 中同时支持 POST 数据和 JSON 格式的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33302957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com