WCF 4.0 を使用して REST-ful Web サービスを作成しています。私がやりたいことは、UriTemplate
.
たとえば、ユーザーが運転免許証または社会保障番号をキーとして使用して、個人に関する情報を取得できるようにする API があります。私のServiceContract
/ インターフェイスでは、次の 2 つのメソッドを定義します。
[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
?一般的なシナリオのようです。
どうもありがとう!