过去几个小时我一直在撞墙,这就是我们要做的事情:一个方法需要一个原始/简单类型作为请求体。最初我们尝试使用布尔值,但这不起作用所以我们尝试使用字符串和对象。同样的事情。
这是服务器端代码
[OperationContract]
[WebInvoke(UriTemplate = "/foo/{foo_id}/bar", Method = "POST", ResponseFormat=WebMessageFormat.JSON)]
string G(string foo_id, string content);
这是Fiddler的请求:
部首:
User-Agent: Fiddler
Host: localhost
Content-Type: 'application/json',
Content-Length: 19
体:
"hello_world"
我们尝试将"hello_world"
包装在json对象中,例如{“content”:“hello_world”},但没有运气。
有什么想法吗?
答案 0 :(得分:2)
对我来说很好,这是我的代码:
[OperationContract]
[WebInvoke(UriTemplate = "/foo/{foo_id}/bar", Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
public string G(string foo_id, string content)
{
return content + foo_id;
}
你没有设置请求格式(我知道的痛苦:))
这是我的Fiddler请求:
User-Agent: Fiddler
Content-Type: application/json
Host: localhost:54287
Content-Length: 7
"Hello"