【发布时间】:2020-06-26 20:16:03
【问题描述】:
当我使用邮递员或我的应用程序发布到我的 API 端点时,request 参数是一个空数组。
与其他控制器发布请求工作正常,request 参数得到很好的处理。
只有使用我的订单控制器才能处理我的帖子正文。
我没有进行任何更改,恢复到较旧的提交也没有帮助。
我不知道为什么它不接受 JSON 正文。
控制器
public function createOrder(Request $request)
{
return $request->product_id;
}
发布正文 | 原始 JSON
{
"product_id": 4
}
响应 响应是一个空数组[]"
我已尝试打印 $request 并收到此回复
POST /api/order/post HTTP/1.1
Accept: application/json
Accept-Encoding: gzip, deflate, br
Authorization: Bearer.{token}
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 20
Content-Type:
Cookie: XSRF-TOKEN={Token}%3D%3D; laravel_session=%3D%3D
Host: backend.host
User-Agent: PostmanRuntime/7.22.0
Cookie: XSRF-TOKEN==={token}; laravel_session={Token}
{
"product_id": 4
}
我的帖子正文是可见的,所以我很困惑为什么它没有显示
我的期望和我得到的
我希望请求返回我的 JSON 正文的值
什么都不返回
注意:我最近添加了护照,但上次我在添加laravel后使用此端点时运行良好
工作控制器
public function store(Request $request)
{
return $request;
}
API 路由
Route::post('order/create', 'OrderController@createOrder');
Route::post('product/create', 'ProductController@store');
如果我在控制器中执行echo $request,我会看到请求中有数据,但我认为格式不好:
POST /api/messages HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, br
Authorization: Bearer 5|ibun75O2SNnZoT2W5Rk0KQox70wBxKN4xIIrq0sQ
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 522
Content-Type: application/json
Host: localhost:8000
User-Agent: PostmanRuntime/7.26.10
{
"text" : "Molestiae dolor non eaque aut sapiente maiores. Aut voluptates nesciunt. Cum distinctio quisquam qui vitae eos
asperiores.
Nihil iste quia. Voluptate deleniti ipsam voluptas alias similique doloremque. Ratione alias iste voluptatem quis. Quis
quia quo sequi minus quod voluptate cum similique dolor.
Maxime enim aut. Eius ea doloribus. Quaerat dolor libero ipsum. Delectus atque esse ipsam est.",
"imageLink" : "http://placeimg.com/640/480/abstract",
"typeID" : "232",
"answerTypeID" : "919"
}
【问题讨论】:
-
您能否展示您的路线,以及实际可行的示例?
-
@Christoffer 已添加
-
您是否检查过是否有中间件挡路?
-
@UdoE。我该如何检查?
标签: php laravel laravel-5 post