ошибка, когда ресурс url содержит амперсанд

У нас есть веб-api со следующим URL-адресом ресурса.

http://www.example.com/book/bookid/name/bookname

теперь есть несколько книг, которые содержат имена с амперсандом '&', и когда для таких имен делается запрос, мы получаем ниже ошибки

Используемый URL:

http://www.example.com/book/123/name/ban&ban

Ошибка: потенциально опасное значение Request.Path было обнаружено у клиента (&)

Мы попытались передать или использовать закодированное значение для & ie% 26 и получить такую же ошибку.

Используемый URL:

http://www.example.com/book/123/name/ban%26ban

Ошибка: потенциально опасное значение Request.Path было обнаружено у клиента (&)

Теперь, когда я добавил свойство requestPathInvalidCharacters = "" в файле web.config в элементе httpruntime, он начал нормально работать для обоих вышеуказанных URL-адресов. Но, когда я читаю разные статьи, говорится, что использовать свойство requestPathInvalidCharacters = "" не является хорошей практикой.

Кроме того, поскольку в производстве есть много имен книг с "&" и разными специальными символами, мы не можем избежать отправки "&" амперсандов для имен книг, есть ли хороший способ справиться с этим?

Ответы