我正在尝试将 json 字符串发布到 .net wcf 服务。
这是操作的定义:
[WebInvoke(Method = "POST", UriTemplate = "test/")]
[OperationContract]
[Description("Test")]
void Test(string input);
我使用提琴手发送我的测试。这是提琴手信息:
POST http://localhost/test.svc/test/ HTTP/1.1
Content-Type: application/json
Host: localhost
Content-Length: 4
test
我总是收到这个 http 400 错误:
反序列化 System.String 类型的对象时出错。令牌“真”是预期的,但发现是“测试”。
我究竟做错了什么?我敢肯定这可能是很明显的事情,但我从今天早上就开始了......
问题已被分解为最简单的表达方式。在现实世界中,我们想要发布一个实际上是 JSON 的字符串。但是我们不希望 .net 处理反序列化,我们希望自己在服务中自己完成。