【发布时间】:2017-02-10 10:48:41
【问题描述】:
我需要定义一个 WCF GET 方法,它可以将所有查询参数作为单个字符串检索。示例:
https://xxx.xxx.xxx.xxx/token?client_id=abc_def&client_name=&type=auth&code=xyz
我想获取字符串“client_id=abc_def&client_name=&type=auth&code=xyz”。
如何定义方法的 URI 模板?我尝试了以下方法,但它不起作用,因为我会收到 400 Bad Request。将 /" 替换为 "?" 没有区别。
[WebGet(UriTemplate = "token/{Params}")]
[OperationContract]
Stream GetToken(string Params);
该方法将调用外部服务并转发它接收到的任何查询参数。我不想单独检索每个参数,因为参数可能会增加。
另一个网址是这样的:
https://xxx.xxx.xxx.xxx/person/123456?client_id=abc_def&client_name=&type=auth&code=xyz
在这种情况下,我想获取两个字符串“123456”和“client_id=abc_def&client_name=&type=auth&code=xyz”。
如何定义方法的 URI 模板?
【问题讨论】:
标签: wcf url query-string uritemplate