我正在使用 WCF 4.0 创建一个 REST-ful Web 服务。我想做的是根据UriTemplate
.
例如,我有一个 API,它允许用户使用他们的驾驶执照或他们的社会安全号码作为密钥来检索有关某人的信息。在我的ServiceContract
/ 界面中,我将定义两种方法:
[OperationContract]
[WebGet(UriTemplate = "people?driversLicense={driversLicense}")]
string GetPersonByLicense(string driversLicense);
[OperationContract]
[WebGet(UriTemplate = "people?ssn={ssn}")]
string GetPersonBySSN(string ssn);
但是,当我使用这两种方法调用我的服务时,我得到以下异常:
UriTemplateTable 不支持具有与模板 'people?ssn={ssn}' 等效路径但具有不同查询字符串的多个模板,其中查询字符串不能全部通过文字值消除歧义。有关更多详细信息,请参阅 UriTemplateTable 的文档。
有没有办法做到这一点UriTemplates
?这似乎是一个常见的场景。
非常感谢!