加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 15:58:52 所属栏目:PHP教程 来源:网络整理
导读:我正在维护一个用slim 2编写的后端API.api主要用于移动应用程序,因此我希望从发送请求作为POST数据切换到发送 JSON格式的字符串.这将简化api,因为当前发送数组的应用程序,甚至json字符串作为后期数据变量. 虽然发布移动应用程序的更新并切换到json格式的POST
我正在维护一个用slim 2编写的后端API.api主要用于移动应用程序,因此我希望从发送请求作为POST数据切换到发送 JSON格式的字符串.这将简化api,因为当前发送数组的应用程序,甚至json字符串作为后期数据变量.

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

我希望有一个$app-> request-> post()的替换函数,它将从post数据或json数据中获取请求参数,具体取决于客户端发送的内容类型.

例如,我使用$app-> request-> post(‘user_id’,0);从post数据中获取变量.

我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标头.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读