Сообщения

Показаны сообщения с ярлыком "Spring MVC"

Spring Boot Actuator: Spring MVC метрики

Изображение
Автоконфигурирование позволяет инструментировать запросы, обрабатываемые Spring MVC. Если для параметра management.metrics.web.server.request.autotime.enabled задано значение true, этот инструментарий выполняется для всех запросов. В качестве альтернативы, если установлено значение false, вы можете включить инструментарий, добавив @Timed к методу обработки запросов: @RestController @Timed // 1 public class MyController { @GetMapping("/api/people") @Timed(extraTags = { "region", "us-east-1" }) // 2 @Timed(value = "all.people", longTask = true) // 3 public List listPeople() { ... } } 1 - Класс контроллера для включения таймингов на каждом обработчике запросов в контроллере. 2 - Метод для включения для отдельной конечной точки. В этом нет необходимости, если он есть в классе, но его можно использовать для дальнейшей настройки таймера для этой конкретной конечной точки. 3 - Метод с longTask = true, чтобы включить тай...

Spring Boot: автоматически настроенные Spring MVC тесты

Изображение
Чтобы проверить работоспособность контроллеров Spring MVC, используйте аннотацию @WebMvcTest. @WebMvcTest автоматически настраивает инфраструктуру Spring MVC и ограничивает отсканированные bean-компоненты до @Controller, @ControllerAdvice, @JsonComponent, Converter, GenericConverter, Filter, HandlerInterceptor, WebMvcConfigurer и HandlerMethodArgumentResolver. Обычные компоненты @Component не сканируются при использовании этой аннотации. Если вам нужно зарегистрировать дополнительные компоненты, такие как Jackson Module, вы можете импортировать дополнительные классы конфигурации, используя @Import в своем тесте. Часто @WebMvcTest ограничивается одним контроллером и используется в сочетании с @MockBean для предоставления mock реализаций для необходимых компонентов. @WebMvcTest также автоматически настраивает MockMvc. Mock MVC предлагает мощный способ быстрого тестирования контроллеров MVC без необходимости запуска полноценного HTTP-сервера. Вы также можете автоматически настроить Mo...