[英]Accessing JSON body of POST request in Symfony 2.3 controller
在過去的3個小時中,我嘗試將傳入的POST請求的JSON主體解析為我在Symfony 2.3.3中構建的API端點。
我無法為自己的一生弄清楚如何接近身體,這使我發瘋。 我的墓地里滿是我嘗試過的語法,但沒有一個起作用。 以下所有無效的內容。
張貼要求:
app_1 | Accept: application/json
app_1 | Accept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3
app_1 | Connection: close
app_1 | Content-Length: 19
app_1 | Content-Type: application/json
app_1 | Host: localhost
app_1 | User-Agent: Faraday v0.15.4
app_1 | X-Php-Ob-Level: 1
app_1 |
app_1 | {"hello":"goodbye"}
內部控制器默認操作(所有無效的操作):
$request = $this->getRequest();
$hello = $request->query->get('hello');
$hello1 = $request->request->get('hello');
$hello2 = $request->get('hello');
$json2 = filter_input(INPUT_POST, 'hello', FILTER_DEFAULT);
每當我error_log()以上任何變量時,我都為空或無。
我究竟做錯了什么?
if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) {
$data = json_decode($request->getContent(), true);
}
您可以使用php://input
但是效率低下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.