如何将 Json 对象从 Fiddler 传递到 Webapi2
Posted
技术标签:
【中文标题】如何将 Json 对象从 Fiddler 传递到 Webapi2【英文标题】:How Do I Pass Json Object From Fiddler To Webapi2 【发布时间】:2015-03-12 15:18:39 【问题描述】:http://localhost:15641/api/Complaints/NewComplaint
用户代理:提琴手
内容类型:application/json
主机:本地主机:15641
内容长度:63
请求正文 "CostCentre":"test","ComplaintText":"这是测试投诉"
WebApi 控制器
[Route("api/Complaints/NewComplaint")]
[HttpPost]
public void CreateNewComplaint(BLL.Complaint complaint)
//call BLL Create complaint method
我的对象是空值 我在哪里做错了? 我在控制器上设置断点投诉对象设置为所有空值 如果我不传递值投诉对象,则它自身为空 我怎样才能传递对象
【问题讨论】:
属性名称的引号在 JSON 中是强制。我还会考虑删除不必要的回车。所以你的请求正文应该是"CostCentre": "test", "ComplaintText":"djfiojdsifneiorfj wefnuiwnfjkwe fuwe uiehfuiwf jibui"
,并且(如果提琴手没有自动这样做)调整你的请求的Content-Length
。
您可能还想将您的路线名称从 NewCompalint 调整为正确拼写的 NewComplaint。
您好,我在 JSON 中为属性名称添加引号,但对象仍然填充了空值
所以更新您的问题以准确显示您在做什么,以免这种遗漏不会分散其他想要帮助您的人的注意力。
【参考方案1】:
Web API 期望发送给它的数据以如下方式序列化:
Key1=Value1&Key2=Value2&...
如果您使用 javascript 或 JQuery,请确保您发送的是对象(在您的情况下匹配 Bll.Complaint),而不是 JSON 字符串。如果您向我们提供有关如何执行请求的更多详细信息,我将更新此答案以提供有关如何进行序列化的示例。
【讨论】:
标头为ContentType = "application/x-www-form-urlencoded"
以上是关于如何将 Json 对象从 Fiddler 传递到 Webapi2的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Json 对象从 ajax 传递到 spring mvc 控制器?
如何将文件和 json 对象从邮递员传递到 asp.net 核心 webapi
Android - 将 JSON 对象从 webview javascript 传递到 java