1. Вперед sla sh в параметре маршрутизации - PullRequest
1 голос
/ 13 февраля 2020

У меня есть конечная точка GET, которая будет принимать имя пользователя в качестве параметра. Ниже приведено действие

[Route("user/{userName}")]
public User GetUserByName([FromUri] string userName)
{
  // logic here
}

Вот как я делаю запрос.

var restClient = new RestClient("uri");
var request = new RestRequest("user/" + userName);
var response = restClient.Execute(request);

Он работал нормально во всех случаях, пока не пришел пользователь с именем, содержащим forward sla sh. Например: Akbar / Badhusha Тогда запрос будет выглядеть следующим образом: user / Akbar / Badhusha

В результате запрос будет возвращен Not Fount error

I попытался добавить параметр с помощью метода AddQueryParameter. Все возвращающие не найдены ошибки.

  1. Я также пробовал HttpUtility.UrlEncode
  2. Также пробовал заменить / на% 2f
  3. Также пробовал пользователя? UserName = Akbar / Badhusha

Все они не удалось.

Есть ли способ заставить его работать?

1 Ответ

2 голосов
/ 14 февраля 2020

Попробуйте удалить [FromUri] из параметра, как показано ниже,

[Route("user")]
public User GetUserByName(string userName)
{
  // logic here
}

И запрос может выглядеть следующим образом:

user? UserName = Акбар / Бадху sh

...