Сбой привязки модели в webapi 2.0 - PullRequest
0 голосов
/ 23 октября 2018

Я использую Webapi 2.0.Я передаю один параметр, имеющий значение как vb / c4t + UuRLnQ2W / g8SQ == После привязки модели я получаю значение authId в своем коде как vb / c4t UuRLnQ2W / g8SQ == Знак (+) заменяется пробелом.Не могли бы вы помочь мне, как я могу получить это.

URL: api / employee / 1234? AuthId = vb / c4t + UuRLnQ2W / g8SQ ==

[HttpGet]
public IHttpActionResult Get(string eid, string authId)
{
}

1 Ответ

0 голосов
/ 23 октября 2018
Знак

+ имеет другое значение в строке запроса.Он используется для представления пространства.Другим символом, имеющим семантическое значение в строке запроса, является &, который используется для разделения различных пар var=value в строке запроса.

Большинство сценариев на стороне сервера декодируют параметры запроса перед их использованием, поэтомучто + правильно конвертируется в пробел.Теперь, если вы хотите, чтобы в строке запроса присутствовал литерал +, вам нужно указать %2B.

Пример yourString.replace("+","%2b")

Альтернативный метод: Вы должны URLEncode значения строки запроса, чтобы убедиться, что вы не теряете содержимое.

Другой альтернативный способ - создать собственный код для знака +.например, 12sfdhjsj8722nsn2232dfsdd будет представлять знак +.так что вы можете заменить знак + на код, а на стороне сервера вы можете получить его обратно, используя тот же код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...