将原始类型传递给WCF RESTful服务

时间:2009-05-13 19:41:11

标签: wcf json rest primitive-types

过去几个小时我一直在撞墙,这就是我们要做的事情:一个方法需要一个原始/简单类型作为请求体。最初我们尝试使用布尔值,但这不起作用所以我们尝试使用字符串和对象。同样的事情。

这是服务器端代码

[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”},但没有运气。

有什么想法吗?

1 个答案:

答案 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"