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 .