Передача примитивного типа в службу WCF RESTful - PullRequest
1 голос
/ 13 мая 2009

Последние пару часов я бился головой о стену, вот что мы пытаемся сделать: метод ожидает примитивный / простой тип в качестве тела запроса. Первоначально мы пробовали с логическим значением, но это не сработало, поэтому мы пробовали со строкой и объектом. То же самое.

Вот код на стороне сервера

[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

Body:

"hello_world"

Мы пытались обернуть "hello_world" в объект json, например, {"content": "hello_world"}, но безуспешно.

Есть мысли?

1 Ответ

2 голосов
/ 14 мая 2009

У меня отлично работает, вот мой код:

[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"
...