正如主题所说,我在试图通过Fiddler使用Request Body调用端点(POST)时遇到了问题。
有一个http api方法:
[HttpPost]
[Route("books")]
public IHttpActionResult GetBooks([FromBody]JToken filterRequest)
{...}
在Fiddler中,我使用请求标题进行POST调用:
User-Agent: Fiddler
Host: localhost
Content-Length: 21
Content-Type: application/json
请求正文如下:{ "title" : "Harry Potter"}
。在调试时,我得到null filterRequest 参数。
但是当我使用Content-Type: application/x-www-form-urlencoded
时,参数 filterRequest参数不是null,但遗憾的是包含不正确的语法,如:
{{" {\" title \" :\"哈利波特\"}":""}}
错误的序列化:
var columnsFilter = new JavaScriptSerializer().Deserialize<Dictionary<string, string>>(filter);
我不知道我在这里做错了什么。也许你遇到过类似的问题并且可以提供帮助吗?
答案 0 :(得分:0)
事实证明,整个问题是基于错误的引号。我只需使用 '
,已发布的请求正文与Content-Type: application/json.