본문 바로가기

백엔드/Spring131

[Spring Security] Consider defining a bean of type 'org.springframework.security.core.userdetails.UserDetailsService' in your configuration. spring에서 bean 을 찾을 수 없다는 에러가 나오는데 인터페이스 구현을 하지 않아서 생기는 오류로 implements UserDetailsService 를 추가해준다. 2022. 11. 14.
[Spring Swagger3.0] spring boot에 Swagger 3.0 실습 예제 의존성 추가 implementation "io.springfox:springfox-boot-starter:3.0.0" implementation "io.springfox:springfox-swagger-ui:3.0.0" SwaggerConfig.java 파일 추가 @Configuration public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.OAS_30) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build(); } } Docket : swagger 설정에 핵심이 되는 Bean apis : api 스.. 2022. 11. 11.
[Spring Swagger3.0] Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException spring boot 2.6 버전 이후에 spring.mvc.pathmatch.matching-strategy 값이 ant_apth_matcher에서 path_pattern_parser로 변경되면서 몇몇 라이브러리(swagger포함)에 오류가 발생한다고 한다. application.yaml 에 아래 내용을 추가해주면 된다. spring: mvc: pathmatch: matching-strategy: ant_path_matcher 2022. 11. 10.
[Spring Security] The signing key's size is 40 bits which is not secure enough for the HS512 algorithm. spring security + jwt 에서 로그인 api 를 사용하던 중 다음과 같은 에러가 나왔다. io.jsonwebtoken.security.WeakKeyException: The signing key's size is 40 bits which is not secure enough for the HS512 algorithm. The JWT JWA Specification (RFC 7518, Section 3.2) states that keys used with HS512 MUST have a size >= 512 bits (the key size must be greater than or equal to the hash output size). Consider using the io.jsonweb.. 2022. 11. 9.
[spring] swagger2로 API 명세서 만들기 Swagger 란 REST API를 설계, 빌드, 문서화 및 사용하는 데 도움이되는 OpenAPI 사양을 중심으로 구축 된 오픈 소스 도구 세트이다. swagger를 사용하는 이유는 코드 몇줄로 API 명세서를 작성해 사용할 수 있으며 테스트할 수 있는 UI도 제공한다. 또한 파라메터를 넣어보고 테스트도 할 수 있다. API 문서를 작성하는 시간도 줄이고 실시간으로 유지할 수 있다는 장점도 있다. 사용방법 '3.0.0' 과 '2.9.2' 의 설정 방법이 다른데 나는 '2.9.2' 버전으로 진행했다. 의존성 추가 - gradle // swagger compile 'io.springfox:springfox-swagger2:2.9.2' compile 'io.springfox:springfox-swagger-u.. 2022. 9. 28.
[JPA] Collection 컬렉션 (Collection, List, Set, List+@OrderColumn) JPA는 자바에서 기본적으로 제공하는 Collection, List, Set, Map 컬렉션을 지원한다. 하이버네이트가 컬렉션을 효율적으로 관리하기 위해 하이버네이트는 엔티티를 영속 상태로 만들 때 Collection으로 한번 감싸서 사용한다. Collection은 아래 두가지 상황에서 사용한다. @OneToMany , @ManyToMany 를 사용해서 일대다나 다대다 관계를 매핑할 때 @ElementCollection 을 사용해서 값 타입을 하나 이상 보관할 때 Collection, List Collection, List 는 중복을 허용하는 컬렉션이다. PersistentBag을 래퍼 컬렉션으로 사용한다. 하이버네이트의 특징 때문에 Collection을 사용할 때 즉시 초기화해서 사용하는 것을 권장한다.. 2022. 9. 15.