я имею установку маршрут быть: [Маршрут ("{ID}/пользователей/поиск/{Поиск}")] и связанное с ним действие: SomeAction (интермедиат идентификатор, текст строки)Web Api 2 пустой строковый параметр GET
Услуга имеет следующую функцию. для ресурса с id = {id}, а пользователи этого ресурса получают пользователей, которые соответствуют термину {search} (имя пользователя, адрес электронной почты и т. Д.).
{поиск} может иметь значение, поэтому служба возвращает только соответствующие объекты или не имеет значения (пустая строка или нуль), поэтому служба возвращает все.
Для части со значением она отлично работает. Для второй части я не могу найти что-то, чтобы установить запрос получения, который соответствует пустой строке.
я попытался следующие: 1/пользователей/поиск/нуль {Поиск} = "нулевой" 1/пользователей/поиск/не соответствует маршруту 1/пользователей/поиск не соответствует прокладывайте
имеет кто-нибудь подскажет, как это можно сделать?
Update: я пытался заменить действие: SomeAction (INT идентификатор, строка текста) с: SomeAction (модель модель), где модель является
public class ApplicationUserSearchModel
{
[Required]
public int Id { get; set; }
[Required(AllowEmptyStrings = true)]
public string MatchText { get; set; }
}
не повезло, так как я не знать, что отправить, чтобы соответствовать URL-адресу.
проблема не в самой услуге. это прекрасно работает. данный выше маршрут, как вы называете эту службу с привязкой {search} к пустой строке, является вопросом! – Mantzas
Я попробую, но я думаю, что я уже не повезло. Тем не менее я не знаю, как вызвать службу, чтобы получить этот результат. Любое понимание того, как вы это делаете, так как ваш, похоже, работает? – Mantzas
У вас должен быть доступ к этому маршруту, позвонив по телефону GET http: // website/1234/users/search или GET http: // website/1234/users/search/firstname% 20lastname – MattHughesATL