Odata放置JSON请求正文错误

Odata放置JSON请求正文错误,odata,fiddler,asp.net-web-api,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=minimalme

我试图使用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"}
当我尝试放置时,它会返回状态代码400。当我双击fiddler中的error并查看JSON选项卡时,它给出了以下错误

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

在URI格式或请求正文方面,我哪里出了问题?

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

  • ~/odata/Products(1)如果键为int类型
  • ~/odata/Products('1'),如果键是字符串类型
  • 因此,请确保您的案例中的密钥为字符串类型,并尝试

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

    查看响应是否符合预期。

    根据错误消息,您的URL无效。您确定语法不是类似于
    https://127.0.0.1/MyController?Param
    我使用的是Odata而不是Api one。当你查询同一个URL时,会有什么反应?