Перейти к основному содержимому

Значение @RequestMapping в файле свойств

· 2 мин. чтения

1. Обзор

В этом руководстве мы рассмотрим, как установить значение @RequestMapping в файле свойств. Кроме того, мы будем использовать практический пример, где мы объясним все необходимые конфигурации.

Во-первых, давайте определим базовый @RequestMapping и его конфигурацию.

2. Основы @RequestMapping

Прежде всего, мы создадим и аннотируем наш класс WelcomeController с помощью @RequestMapping для сопоставления веб-запросов . Этот класс выделит наш метод обработчика getWelcomeMessage().

Итак, давайте определимся:

@RestController
@RequestMapping("/welcome")
public class WelcomeController {

@GetMapping
public String getWelcomeMessage() {
return "Welcome to ForEach!";
}
}

Кроме того, интересно отметить, что мы аннотируем getWelcomeMessage () с помощью @GetMapping , чтобы сопоставлять только запросы GET. Как мы видим, мы использовали жестко запрограммированную строку для пути, статически указывающую путь, к которому мы хотим получить доступ. С этой конфигурацией мы можем получить доступ к интересующему нас ресурсу, как мы можем видеть ниже:

curl http://localhost:9006/welcome
> Welcome to ForEach!

Но что, если мы хотим, чтобы путь зависел от параметра конфигурации? Как мы увидим далее, мы можем использовать application.properties .

3. @ RequestMapping и файл свойств

Во-первых, как видно из документации , шаблоны в аннотациях @RequestMapping поддерживают заполнители ${…} для локальных свойств и/или системных свойств и переменных среды . Таким образом, мы можем связать наш файл свойств с нашим контроллером.

С одной стороны, нам нужно создать сам файл свойств. Мы поместим его в папку ресурсов и назовем его application.properties . Затем мы должны создать свойство с именем по нашему выбору. В нашем случае мы установим имя welcome-controller.path и установим желаемое значение в качестве конечной точки запроса. Теперь наше application.properties выглядит так:

welcome-controller.path=welcome

С другой стороны, мы должны изменить путь, который мы установили статически в @RequestMapping , чтобы он считывал новое свойство, которое мы создали :

@RestController
@RequestMapping("/${welcome-controller.path}")
public class WelcomeController {
@GetMapping
public String getWelcomeMessage() {
return "Welcome to ForEach!";
}
}

Таким образом, Spring сможет отображать значение конечной точки, и когда пользователь получает доступ к этому URL-адресу, этот метод будет отвечать за его обработку. Ниже мы можем увидеть, как то же сообщение отображается с тем же запросом:

curl http://localhost:9006/welcome 
> Welcome to ForEach!

4. Вывод

В этой короткой статье мы узнали, как установить значение @RequestMapping в файле свойств . Кроме того, мы создали полностью функциональный пример, который поможет нам понять изложенные концепции.

Полный исходный код статьи доступен на GitHub .