簡體   English   中英

帶有原始正文的 POST 請求總是給我 400 Bad Request

[英]POST Request with raw body always giving me 400 Bad Request

我正在嘗試開發來自 webhook 的響應。 但截至目前,php 代碼總是向我返回 400 錯誤請求。 我正在嘗試使用 Postman 模擬 webhook。 請看下圖。

我希望有人可以幫助我並分析哪一部分是錯誤的。 蒂亞

在此處輸入圖像描述

這是我的代碼(zpostget.php)

<?php

$json = file_get_contents('php://input');
$body = json_decode($json, true);

if (is_null($body) or !isset($body['eventName'])) {
    header('HTTP/1.1 400 Bad Request');
    return;
}

switch ($body['eventName']) {
    case 'shippingrates.fetch':
        break;
}

header('HTTP/1.1 200 OK');

?>

因為,我不確定你的 json 數據,首先打賭它是格式錯誤的 json 但是因為你的var_dump($json)看起來像 json 我會假設一切都好。 這里有一些工具可以確保

  1. 拋出異常:您可以在 json_decode 中添加 JSON_THROW_ON_EXCEPTION 並重試 ex。 json_decode($json, true, 512, JSON_THROW_ON_ERROR);

var_dump($json) 給出 NULL

那么你的 json 格式錯誤

  1. **發送前檢查 json:**另外,請檢查您使用驗證器發送的 json,例如。 https://jsonlint.com/

無關,但我也建議使用|| 而不是or

最后一件事是檢查 if 的哪一部分失敗:所以var_dump(is_null($body))var_dump(!isset($body['eventName']))並檢查什么是假的。

你能分享整個 json 嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM