如何像这样设置UriTepmlate Attr:
/FunctionName?{json_data}
因为使用这个web服务的人用这种方式叫什么?
例如:http://localhost/xxx/service/Func?{"x":"aaa","y":"bbb"}
我试过了
[OperationContract]
[WebGet(UriTemplate = "/Func?{request}",
BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json)]
Result Func(string request);而不是我得到的错误:
UriTemplate '/Func?{request}‘无效;查询字符串的每个部分必须是表单' name’或表单'name=value',其中name是一个简单的文字。有关详细信息,请参阅UriTemplate文档。参数名称:模板
当我设置的时候
[OperationContract]
[WebGet(UriTemplate = "/Func?request={request}",
BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json)]
Result Func(string request);它运行得很好,但这不是他们想要的。
发布于 2015-04-22 11:14:52
你不能这样设置。这是因为"?“在URL中,表示URL参数将跟随,并且URL参数总是以"name=value“形式出现
你要么可以
[OperationContract]
[WebGet(UriTemplate = "/Func?request={request}",
BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json)]
Result Func(string request);或
[OperationContract]
[WebGet(UriTemplate = "/Func/{request}",
BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json)]
Result Func(string request);如果像上一个示例一样执行此操作,则参数请求只能是一个字符串。
https://stackoverflow.com/questions/29792836
复制相似问题