Spring Boot: Spring HATEOAS, поддержка CORS
Spring HATEOAS
Если вы разрабатываете RESTful API, который использует hypermedia, Spring Boot предоставляет автоконфигурацию для Spring HATEOAS, которая хорошо работает с большинством приложений. Автоконфигурация заменяет необходимость использования @EnableHypermediaSupport и регистрирует ряд bean-компонентов для упрощения создания приложений на основе hypermedia, включая LinkDiscoverers (для поддержки на стороне клиента) и ObjectMapper, настроенный для правильного маршалинга ответов в желаемое представление. ObjectMapper настраивается путем установки различных свойств spring.jackson.* или, если таковые существуют, bean Jackson2ObjectMapperBuilder.
Вы можете контролировать конфигурацию Spring HATEOAS с помощью @EnableHypermediaSupport. Обратите внимание, что это отключает настройку ObjectMapper, выполняемую автоматически.
Поддержка CORS
Совместное использование ресурсов между источниками (CORS, Cross-origin resource sharing) - это спецификация W3C, реализованная большинством браузеров, которая позволяет гибко указывать, какие типы междоменных запросов разрешаются. Вместо использования менее безопасных и менее мощных подходов, таких как IFRAME или JSONP.
Начиная с версии 4.2, Spring MVC поддерживает CORS. Использование метода контроллера CORS с аннотациями @CrossOrigin в приложении Spring Boot не требует какой-либо конкретной настройки. Глобальная конфигурация CORS может быть определена путем регистрации bean-компонента WebMvcConfigurer с помощью настроенного метода addCorsMappings(CorsRegistry), как показано в следующем примере:
@Configuration(proxyBeanMethods = false)
public class MyConfiguration {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**");
}
};
}
}
Читайте также:
- Spring Boot: разработка веб-приложений
- Spring Boot: автоконфигурация Spring MVC
- Spring Boot: пользовательские сериализаторы и десериализаторы JSON
- Spring Boot: статический контент
- Spring Boot: сопоставление путей и согласование контента
- Spring Boot: шаблонизаторы
- Spring Boot: обработка ошибок
- Spring Boot: пользовательские страницы ошибок
- Spring Boot: отображение страниц ошибок за пределами Spring MVC
Комментарии
Отправить комментарий