在我的项目中,我必须将动态Json字符串传递给WCF Rest服务web get。
当我传递一些字符串时,一切正常。
http://localhost:58014/MyService.svc/api/queries/somestirng
但是当我传递json字符串作为url段时未发现错误。
{"键":" UserHomePageInfoQuery""消息":" {\"用户名\":\& #34; usr83 \"}"}
这是我的服务操作合约定义
[OperationContract]
[WebGet(UriTemplate = "api/queries/{queryString}",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
Response Query(string queryString);
我知道我可以使用POST,但所有服务请求都是查询
我有POST的其他命令服务
[OperationContract]
[WebInvoke(UriTemplate = "api/commands/",
Method = "POST",
RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json)]
Response Execute(Request request)
答案 0 :(得分:0)
我在{queryString}参数中使用通配符(*),这意味着"其余的URI"
https://msdn.microsoft.com/en-us/library/bb675245.aspx
[OperationContract]
[WebGet(UriTemplate = "api/queries/{*queryString}",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
Response Query(string queryString);