【发布时间】:2015-06-03 07:22:46
【问题描述】:
我开发了一个 Restful WCF 服务,我需要传递一个 json 字符串作为输入。 json 字符串是可变的。 这是我的服务:
[WebGet(UriTemplate = "{id}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Xml)]
public string GetById(string id)
{
string sampleItem = id;
return sampleItem;
}
这是一个 json 示例:
{
"name":"obj1",
"x":11,
"y":20,
"obj":{
"testKey":"val"
},
"z":30,
"tab":[
1,
2,
46
],
"employees":[
{
"firstName":"John",
"lastName":"Doe"
},
{
"firstName":"Anna",
"lastName":"Smith"
},
{
"firstName":"Peter",
"lastName":"Jones"
}
]
}
当http://localhost:7626/Service1/myjsonstring
我收到此错误:Erreur HTTP 400 - 错误请求。
P.S:如果我传递一个简单的字符串,它就可以工作。 有什么想法请教
【问题讨论】:
-
首先你的 JSON 无效
obj应该用"包裹。第二件事,你真的想接收 JSON 作为字符串吗?也许你想得到一个反序列化的模型,WCF 可以毫无问题地做到这一点? -
我想把它作为字符串传入。
-
你从哪里调用这个服务?
-
我不是在开发使用该服务的应用程序