【发布时间】:2017-12-15 18:58:12
【问题描述】:
我的 API 使用 Slim v3 和 the json schema validator by justinrainbow。我想做但不能上班的是:
- 在中间件中:使用默认值验证传入的 json。这会产生一个修改过的对象
- 将修改后的对象写回请求中,以便核心控制器对其进行处理
我失败的是:
# inside middleware:
$requestbody = $request->getBody();
$requestobject = json_decode($requestbody);
# validation and modification of $requestobject takes place here
$request->getBody()->write(json_encode($requestobject));
$request->reparseBody();
return $next($request, $response);
从那时起,请求正文就是null。我究竟做错了什么?我很确定我修改 Slim 对象的方式有问题,因为当我手动尝试 $request->getBody()->write('{"some": "content"}') 时它也不起作用。
【问题讨论】:
标签: rest slim jsonschema