我正在寻找的是一种可以将任何内容传递给特定网址的方式,以便我自己解析它。 像这样:
[OperationContract]
[WebGet(UriTemplate = "/whatever/blabla/{query}", RequestFormat = WebMessageFormat.Xml)]
string AddRouteForUser(string query);
之后我可以自己解析查询以获得我需要的值。 可能吗 ? 还有更好的方法吗?
由于
[编辑标题]
答案 0 :(得分:4)
一种选择是使用查询字符串参数,因为根据定义,它们是一种标记在查询上的可选属性包。这使得路径成为您的休息资源的不可变标识符。
/whatever/blabla?some=data&whichis=optional
虽然没有对数据和其他资源的详细了解,但很难说
编辑:
QueryStrings可以是可选的 请参阅Anand @ https://connect.microsoft.com/VisualStudio/feedback/details/451296/rest-wcf-uritemplate-optional-querystring-parameters
的评论“您可以通过在WebGet或WebInvoke属性上省略UriTemplate中的查询字符串,并使用WebOperationContext.Current.IncomingRequest.UriTemplateMatch.QueryParameters”来获得所需的效果“
答案 1 :(得分:0)
最后,我将使用OperationContext来获取完整的URL并自己解析它。 我只是在WebGet中加入/ / / {query}所以我知道我想要对待什么。