косая черта в начале параметра MVC - PullRequest
0 голосов
/ 27 декабря 2018

Я использую этот маршрут в моем контроллере

[HttpGet("Check/{*code}")]

эта работа почти во всех случаях, но это не работает с косой чертой при запуске в параметре, например " / 1HCZ0hVPloeftdvDHgGNg =="это генерирует следующий URL

api/check//1HCZ0hVPloeftdvDHgGNg==

, поэтому контроллер читает« 1HCZ0hVPloeftdvDHgGNg == »и дешифрует код сбоя.

Как решить эту проблему?

1 Ответ

0 голосов
/ 27 декабря 2018

Вы не сказали версию ASP.NET, которую используете, но я думаю,

using System.Web.HttpUtility;
string queryString = UrlEncode("/1HCZ0hVPloeftdvDHgGNg==");

должна работать для вас.Он преобразует косую черту (и любые другие странные символы) в безопасные для Uri значения.В вашем случае, queryString = "%2f1HCZ0hVPloeftdvDHgGNg%3d%3d"

На другом конце вам нужно будет использовать UrlDecode, чтобы вернуть его также к исходной строке.

Документация по функции здесь .

...