繁体   English   中英

Laravel | PHP | 如何使用file_get_contents?

[英]Laravel | PHP | How to use file_get_contents?

我想学习并了解如何使用从外部服务器发送到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

使用“正文”>“行”>“ JSON APP”和一个简单的表格:

[{
    "type_3": "Hero",
 }]

在Postman中执行URL时,echo $json_dat没有任何$json_dat

我期望的是:带有type_3的Json数据:英雄

先感谢您

邮递员行动

很简单,您期望的是GET请求而不是POST。

更改

Route::get('/receive','MyController@Receive');

Route::post('/receive','MyController@Receive');

正如Curtis所说的,您要做的第一件事就是更改从getpost的路线。

接下来,您要发送带有正确Content-Type有效json请求正文: application/json标头:

{  
   "type_3":"Hero"
}

在控制器本身中,您不需要手动检索输入,因为Laravel足够聪明,可以为您捕获和解析json。

您可以使用请求对象$request->input('type_3')$request->all()或用于此目的的更多函数json()例如json()post()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
 }



暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM