2014-04-02 70 views
1

我正在嘗試使用提琴創建一個PUT請求,但我不斷收到錯誤,如下所示。Odata把JSON請求正文錯誤

PUT Request 
https://127.0.0.1/odata/ControllerName('param') 

Request Header 
Accept: application/json;odata=minimalmetadata 
Host: 127.0.0.1 
Authorization: ApiKey uniqueKey 
Content-Type: application/json;odata=minimalmetadata 
Accept-Charset: UTF-8 

RequestBody 
{"Name":"param"} 

當我試圖把,它返回我的狀態代碼400。當我在小提琴手,並查看JSON選項卡中雙擊錯誤,它給了我下面的錯誤。

odata.error 
    innererror 
     message=actionParameters : The last segment of the request URI 'ControllerName('param')' was not recognized as an OData action. 

我在哪裏出錯,有URI格式或請求體?

+0

根據錯誤消息,您的網址無效。你確定語法不像'https://127.0.0.1/MyController?Param'' – EricLaw

+0

我正在使用Odata而不是Api。 –

+0

查詢同一網址時的迴應是什麼? – Maya

回答

1

根據OData的協議, 以下實體集(對應於控制器)的括號內的值必須是一個鍵,例如:

  1. 〜/的OData /產品(1)如果鍵是int類型的,如果密鑰是字符串類型,則爲
  2. 〜/ odata/Products('1')。

所以請確保關鍵是字符串類型的,你的情況,並嘗試

GET https://127.0.0.1/odata/ControllerName('param') 

,看看是否如預期的響應。