Odata把JSON请求正文错误

时间:2014-04-02 08:03:35

标签: odata fiddler asp.net-web-api

我正在尝试使用Fiddler创建PUT请求,但我不断收到如下错误。

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"}

当我尝试PUT时,它返回状态码400.当我在fiddler中双击错误并查看JSON选项卡时,它会给我以下错误。

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

我错在哪里,使用URI格式或请求正文?

1 个答案:

答案 0 :(得分:1)

根据OData协议, 实体集后面的括号内的值(对应于控制器)必须是键,例如:

  1. 〜/ odata / Products(1)如果密钥是int类型,
  2. 〜/ odata / Products('1')如果密钥是字符串类型。
  3. 因此,请确保您的密钥是字符串类型,并尝试

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

    查看回复是否符合预期。