我想学习并了解如何使用从外部服务器发送到我的 Laravel 项目的数据。所以我做了这条路线:Route::get('/receive','MyController@Receive');在控制器中我做到了: public function Receive(Request $request){ $data = file_get_contents("php://input"); $json_dat = json_decode($data, true); echo $json_dat; }使用 POSTMAN,我将 POST 请求发送到 ` http://my_domain/receive使用 Body > Row > JSON APP 和一个简单的表格:`[{ "type_3": "Hero", }]在 Postman 中执行 URL 时,echo 没有任何反应 $json_dat我期待的是:带有 type_3 的 Json 数据:Hero先感谢您
3 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
正如柯蒂斯所说,您需要做的第一件事是将路线从 更改get
为post
。
接下来,您要使用正确的Content-Type
:application/json
标头发送有效的 json 请求正文:
{ "type_3":"Hero" }
在控制器本身中,您不需要手动检索输入,因为 Laravel 足够智能,能够为您捕获和解析 json。
您可以访问使用请求对象的值$request->input('type_3')
或$request->all()
或更多的功能,为了这个目的,例如json()
,post()
等等。
希望你能以此为依据。
茅侃侃
TA贡献1842条经验 获得超21个赞
很简单,您期待的是 GET 请求而不是 POST。
改变
Route::get('/receive','MyController@Receive');
到
Route::post('/receive','MyController@Receive');
一只斗牛犬
TA贡献1784条经验 获得超2个赞
使用 post 代替进入路由器
Route::post('/receive','MyController@Receive');
在控制器中
public function Receive(Request $request){
$request->json('type_3'); // hero get from json
$request->input('type_3'); // get from input
return $request->all(); //return all input,request or json and vs vs
}
- 3 回答
- 0 关注
- 224 浏览
添加回答
举报
0/150
提交
取消