Предисловие
Эта статья в основном представляет соответствующий контент о пружинной маршрутизации на основе параметров URL. Он обменивается вашей справочной и учебной ценностью. Давайте посмотрим на подробное введение ниже.
Откройте для себя проблемы
Недавно я обнаружил проблему при написании интерфейсов, то есть части пути URL -адресов двух интерфейсов покоя одинаковы, и они различаются в соответствии с прохождением запроса в разных параметрах.
Например, обычный интерфейс загрузки S3 - это:
PUT /{BucketName} /{ObjectName}Интерфейс для загрузки в куски:
Put /{bucketName} /{ObjectName}? Partnumber = {partnumber} & uploadId = {uploadId}Partnumber и uploadID являются одним интерфейсом, а два параметра не передаются в другой интерфейс. Так как установить маршрут весной?
Как правило, мы устанавливаем маршруты @RequestMapping(value = "/xx", method = RequestMethod.GET) . Затем в подписи метода параметры могут быть введены через @RequestParam.
Тем не менее, невозможно напрямую реализовать различие путем введения различных параметров, таких как:
@Responsebody@requestMapping (value = "/xx", method = requestMethod.get) public String get1 () {return "get1";}@responsebody@requestmapping (value = "/xx", method = requestmethod.get) public String get2 (@requestparam name) {return "get2" +};};Это сообщит об ошибке:
java.lang.illegalstateException: неоднозначное картирование. Не могу отобразить «democontroller_v01».
Решение
Это означает, что вы зарегистрировались неоднократно, поэтому @RequestParam нельзя использовать в качестве основы маршрутизации.
@RequestParam
Используется для обработки типа контента: контент, кодируемый для приложения/x-www-form-urlencoded. (В протоколе HTTP, если тип контента не указан, параметр передаваемого по умолчанию-тип приложения/xww-form-urlencodisted)
RequestParam может принимать свойства простых типов или типов объектов.
Суть состоит в том, чтобы использовать конверсионевое конвейс-конвейс-конвейс-конвейс-консерв Spring Conversion Survession для настройки карты параметров клавиш в request.getParameter () для преобразования его в объект или поле для получения параметра.
@Requestmapping - это аннотация маршрутизации. В дополнение к полю обычно используемого значения для настройки URL, он также предоставляет параметр Params, который может указать, как соответствовать параметрам запроса в URL. Несколько методов конфигурации:
Это позволяет вам очень гибко указать маршруты.
Кроме того, @Requestmapping также предоставляет параметр заголовков, который позволяет нам маршрутироваться в соответствии с ситуацией заголовка!
Суммировать
Вышеуказанное - все содержание этой статьи. Я надеюсь, что содержание этой статьи имеет определенную справочную ценность для каждого обучения или работы. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения. Спасибо за поддержку Wulin.com.