본문 바로가기

Dev/Spring5

Swagger를 통한 REST 요청에 jwt 인증키 포함시키기 @Configuration class WebSecurityConfig : WebMvcConfigurer { override fun addInterceptors(registry: InterceptorRegistry) { registry.addInterceptor(JwtInterceptor()) .addPathPatterns("/v1/api/*") .excludePathPatterns("/v1/api/signin") } } Spring Boot 프로젝트에 위와같이 jwt 인증을 추가한 후 Swagger를 통해 api들을 테스트하려는데, 아래와 같이 jwt 인증에러가 발생한다. 2020-01-21 10:24:03,184 [https-jsse-nio-19932-exec-7] ERROR org.apache.cat.. 2020. 1. 22.
Spring Boot Request Logging - CommonsRequestLoggingFilter Spring Boot로 api를 개발할 때 쉽게 Request를 Logging 할 수 있게 Spring에서는 CommonsRequestLoggingFilter를 Servlet Filter 형태로 제공한다. 아래 bean 정의를 소스코드에 추가하고, logger 설정에서 org.springframework.web.filter의 logger level을 debug로 바꾼다. CommonsRequestLoggingFilter Bean @Configuration class FilterConfig { @Bean fun commonsRequestLoggingFilter(): CommonsRequestLoggingFilter { val filter = CommonsRequestLoggingFilter() filter.. 2020. 1. 3.
[Spring Boot] Actuator를 추가했는데 404 에러가 발생하는 경우 단순히 dependency만 추가하면 일부 페이지(/actuator, /actuator/health)만 노출되고 나머지에서는 404 에러가 발생한다. 이유는 endpoint가 차단된 상태이기 때문이다. 따라서 아래 설정을 application.yml에 추가해서 모든 endpoint를 노출해주면 다른 URL로도 접근할 수 있다. management: endpoints: web: exposure: include: "*" 2019. 9. 20.
Wiring in Spring (@Resource, @Inject, @Autowired 차이) Spring Framework에는 의존성 주입과 관련된 annotation @Resource, @Inject, @Autowired가 있다. 모두 setter와 field에서 사용할 수 있다. @Resource Match by Name Match by Type Match by Qualifier 위 우선순위대로 의존성이 주입된다. @Inject Match by Type Match by Qualifier Match by Name 위 우선순위대로 의존성이 주입된다. @Inject annotaion을 사용하려면 Gradle 또는 Maven에서 javax.inject 라이브러리를 사용하도록 설정해야 한다. @Autowired Match by Type Match by Qualifier Match by Name 의존성.. 2019. 9. 15.