【发布时间】:2011-12-01 15:09:59
【问题描述】:
我有这个简单的 Web 服务,现在它只是查看部件号是否为 A123456789,然后返回一个型号。这将被连接到数据库以检查零件号然后返回实际型号的逻辑所取代。但此时我只需要它返回一些虚拟 JSON 数据。但是,当我使用 Fiddler 并查看 http://localhost:PORT/Scan/Model/A123456789 的网络浏览器中的调用时,它会返回此
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">Model: CVS-1679</string>
但是当我在相同 URI 的提琴手中执行 GET 时,我得到了
"Model: CVS-1679"
仅在 textview 选项卡下。
当我将 ResponseFormat 设置为 JSON 时,为什么它以 XML(在浏览器中和 Fiddler 中的文本)而不是 JSON 返回?
我的代码:
[WebGet(UriTemplate = "Model/{partno}", ResponseFormat = WebMessageFormat.Json)]
public string Model(string partno)
{
if (partno == "A123456789")
{
string modelno = "CVS-1679";
return "Model: " + modelno;
}
else
{
string modelno = "CVS-1601";
return "Model: " + modelno;
}
}
【问题讨论】:
-
确保在向 REST 服务发出请求时将 Content-Type 设置为 application/json