簡體   English   中英

Yii2 RESTful Webservice:JSON請求格式

[英]Yii2 RESTful Webservice: JSON Request Format

這是我的第一個問題:

我正在嘗試使用Yii2構建RESTful Web服務。 Controller從ActiveController擴展並具有相應的模型。 讀取數據工作正常,沒有問題。

但是當我嘗試創建新對象時,我遇到了錯誤。 我使用Chrome擴展程序Advanced Rest Client並發布以下數據:

{
    "team": 1
}

我也嘗試過不同的格式。

但我總是得到這樣的回應:

[{
    "field":"team",
    "message":"Team cannot be blank."
}]

你有什么建議我做錯了嗎?

謝謝!

我想你們都讓我走上正軌。 感謝那!

問題是Yii2使用集成的解析器來解析JSON請求。 我認為這些解析器默認是konfigured(因為沒有提示在文檔中配置它)。 但解析器必須由我自己配置​​。

以下是如何在主配置中配置解析器:

'request' => [
    'parsers' => [
        'application/json' => 'yii\web\JsonParser',
    ]
]

您可以在此處找到更多信息: JsonParser

我希望這可以幫助其他人遇到同樣的問題。

我認為您使用$ _POST捕獲已發布的數據,但這不起作用。 因為您正在發送json數據。 如果是這樣,你必須使用file_get_contents('php://input')來訪問發送數據。 這是請求的Content-Type標頭的問題。 $ _POST在設置為application/x-www-form-urlencoded

這是一個類似的問題處理PHP中的json請求

暫無
暫無

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

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