getリクエストを使用してデータベースから検索結果を返すAPIを作成しています。オプションのパラメーターを渡すことができるように(WCFで簡単に)、パラメーターが指定されている場合はそれを作成しようとしています。クエリ文字列が空である限り、サービスによって無視されます。
ただし、パラメータが空のクエリ文字列がある場合は、サーバーから不正なリクエスト(400)が返されます。
選択したエンドユーザーポイントを使用して、次のクエリ文字列を渡します
http://www.exampleservice.com/basic/?apiKey=1234&noOfResults=3&maxSalary=&minSalary=&ouId=0&keywords=Web+Developer
maxSalaryとminSalaryは値を渡していないことに注意してください
次に、次のWCFサービスがあります。
[OperationContract]
[WebGet(UriTemplate = "basic/?apiKey={apiKey}&noOfResults={noOfResults}&maxSalary={maxSalary}&minSalary={minSalary}&ouId={ouId}&keywords={keywords}", BodyStyle = WebMessageBodyStyle.Bare)]
public List<SearchResultsDto> BasicSearch(string keywords, string apiKey, int noOfResults, int maxSalary, int minSalary, int ouId)
{
//Do some service stuff
}
これにより400エラーが発生します。空のパラメーターをWCFサービスに渡す方法を誰かに説明してもらえますか、それともこれは不可能ですか?