Пишу эту статью, потому что уже который раз сталкиваюсь с этой проблемой. И каждый раз трачу несколько часов, чтобы вспомнить, что проблемы нет. Каждый раз мне кажется, что Swagger UI не отображает описание из атрибута description аннотации @Schema из пакета io.swagger.v3.oas.annotations.media.
Читать далее @Schema description в Swagger UIМетка: Spring Framework
JPA Query getSingleResult NoResultException
Метод jakarta.persistence.Query#getSingleResult бросает исключение NoResultException, если не находит ни одного результата. Несмотря на кажущуюся полезность, это не приносит никакого облегчения. Это не исключительная ситуация. Пустой результат запроса — это тоже результат, а не ошибка логики или программиста.
Читать далее JPA Query getSingleResult NoResultExceptionNo bean named ‘mvcHandlerMappingIntrospector’ available
Ошибка вида:
No bean named ‘mvcHandlerMappingIntrospector’ available: A Bean named mvcHandlerMappingIntrospector of type org.springframework.web.servlet.handler.HandlerMappingIntrospector is required to use MvcRequestMatcher. Please ensure Spring Security & Spring MVC are configured in a shared ApplicationContext
возникает, когда Spring Security и Spring MVC расположены в разных контекстах: корневом и контексте сервлета. Смысл подобного разделения описан в моей старой статье.
Читать далее No bean named ‘mvcHandlerMappingIntrospector’ availableHiddenHttpMethodFilter
Что на самом деле делает HiddenHttpMethodFilter?
Я долгое время считал, что он просто включает поддержку дополнительных методов PUT, PATCH и DELETE. Однако в процессе написания книги я понял, что в реальности задача HiddenHttpMethodFilter совсем другая.
Протокол HTTP поддерживает методы PUT, PATCH и DELETE, но HTML с тегом form поддерживает только GET и POST. HiddenHttpMethodFilter позволяет использовать дополнительное скрытое поле _method, в котором передаётся название метода PUT, PATCH или DELETE, но при этом сама форма отправляется на сервер с помощью POST или GET.
Два SecurityFilterChain в Spring
Иногда бывает необходимость настроить разные SecurityFilterChain для разных разделов сайта или для разных REST-сервисов. Это, на самом деле, довольно просто.
Как работают несколько SecurityFilterChain в одном приложении описано в документации по Spring Security.
Читать далее Два SecurityFilterChain в SpringConversionService в Spring Boot JavaConfig
В XML конфигурации бин conversionService обычно описывается примерно так:
Читать далее ConversionService в Spring Boot JavaConfigSpring Security Custom Filter
Эта статья является частью книги про Spring Framework, которая по планам должна выйти где-нибудь в 2024 году, ну в крайнем случае в 2025, если не все будет получаться.
Spring Security уже содержит стандартные фильтры, поддерживающие HTTP Basic аутентификацию, аутентификацию с паролем и логином с формы, аутентификацию на основе сертификатов и многие другие. Однако мы можем также написать свой собственный фильтр, благодаря которому мы сможем отправлять логин и пароль внутри JSON в POST-запросе к нашему сервису.
Читать далее Spring Security Custom FilterPageNotFound — No mapping for GET … JSP / JSPX
Довольно странная ошибка, на самом деле:
|
1 |
PageNotFound - No mapping for GET /virtualpets-server/WEB-INF/views/home.jspx |
Сами контроллеры отрабатывают, не отрабатывает именно viewResolver, объявленный в XML-конфигурации (проект старый, был создан ещё в эпоху XML-конфигураций для Spring, без Spring Boot):
Читать далее PageNotFound — No mapping for GET … JSP / JSPXApache Tiles в Spring Framework 6
Куда делся Apache Tiles в Spring Framework 6? Проблема достаточно серьезна, так как многие проекты сильно завязались на нём. Сам проект Apache Tiles больше не разрабатывается, а на его странице висит плашка:
Читать далее Apache Tiles в Spring Framework 6Apache Tomcat 10 и JSTL
Apache Tomcat 10 согласно официальной документации реализует спецификацию Java Server Pages 2.3. Немного староватая спецификация, так как уже есть 3.0, но всё же неплохо:
Читать далее Apache Tomcat 10 и JSTL