Когда мы передаем # вместо целого числа в параметре url path , почему он принимает ‘#’ вместо целого числа?

#java #url #integer

#java #url #целое число

Вопрос:

при выполнении операции get в приложении spring boot, например api/getbooks/1 : он извлекает первую запись. for api/getbooks/@ : дает недопустимый параметр. но api/getbooks/1# : дает тот же результат, что и api / getbooks /1. как я могу заставить его не принимать #?

Ответ №1:

В статье фрагментов URL в Википедии можно найти

Идентификатор фрагмента функционирует иначе, чем остальная часть URI: его обработка выполняется исключительно на стороне клиента без участия веб-сервера, … Когда агент запрашивает веб-ресурс с веб-сервера, агент отправляет URI на сервер, но не отправляет фрагмент

Так что это в основном предполагаемое поведение, # и все остальное впоследствии не отправляются на сервер. Таким образом, сервер URL получает одинаковый для обоих запросов.