Я создаю API, который будет просто использовать запрос get для возврата некоторых результатов поиска из базы данных, я пытаюсь сделать так, чтобы можно было передавать необязательные параметры (легко с 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 или это просто невозможно?