Spring Security 적용 시 설정한 api-docs URL 기본으로 안나오는 현상 해결 어제 springdoc 으로 swagger 간단하게 만들어 테스트해봤고 프로젝트 중인 패키지에도 적용을 해봤는데 테스트 했던 것과는 다르게 springdoc.api-docs.path (springdoc.swagger-ui.url) 대로 동작하지 않았다. 자꾸 swagger 디폴트 페이지가 먼저 뜸 ( https://petstore.swagger.io/v2/swagger.json ) 내가 설정한 /api-docs 라는 url 로 검색해야 나오는 상황... 그래서 디폴트 페이지를 아예 안나오게 옵션을 추가해봤더니 springdoc: swagger-ui: disable-swagger-default-url: true..
엄청 오래전엔 javadoc 으로 Export 해서 문서로 봤거나 직접 api 문서를 작성해서 전달하거나 했었던 시절이 있었다. 지금 당장은 api docs 가 필요하진 않은데 프로젝트 말미에 api 연동부 문서들이 필요해질 것 같아 미리 학습겸 셋팅해보려고 한다. Springdoc 이랑 Spring Rest Docs 둘중에 뭘로 할까 하다가 각자의 장단점이 있고 Spring Rest Docs 가 더 이점이 있어보이긴 했으나, 지금 당장 필요한 단계가 아니기 때문에 (사실 테스트모듈도 없음) swagger를 사용해서 간단히 보여주고 셋팅 해보려고 한다. gradle 설정. implementation 'org.springdoc:springdoc-openapi-ui:1.6.14' application 설정...
JPA 쓰다보면 Entity 결과를 DTO 에 담아서 리턴해주는게 좋은데일일이 수작업으로 넘겨주는 방법도 있고 라이브러리로 매핑해주는 방식도 있는데간단한 결과야 수작업으로 담아서 리턴해주겠지만...리턴 데이터가 많을 경우엔 실수 할 확률이 매우 높아 엉뚱한 값에 매칭할 수도 있다.이런 수작업을 해결해 줄 ModelMapper 와 Mapstruct 매핑 라이브러리가 있는데 사용적인 면이나 성능면이나 이슈면에서 Mapstruct 가 이점이 더 많은 것 같아 Mapstruct 를 써보려고 한다. List sampleList = sampleRepository.findAll();// ModelMapperList sampleResult = sampleList.stream() .map(sampleEntity ..
JPA JPQL 을 사용하던 도중 QueryDSL 로 쿼리를 짜보고 싶어 셋팅해봄. SPRING DATA JPA 레퍼런스에 queryDSL이 언급은 되는데 설정하는 방법 같은 건 딱히 없어서 블로그들 참고하여 com.ewerk.gradle.plugins.querydsl 플러그인 방식으로 셋팅해봄. * gradle 버전차이 인지는 모르겠는데 annotationProcessor 방식으론 이클립스에서 정상 동작 하지 않음. 먼저 build.gradle에 셋팅을 해줘야 한다. 내 현재 프로젝트 build.gradle은 아래와 같다. plugins { id 'java' id 'org.springframework.boot' version '2.7.5' id 'io.spring.dependency-manageme..
Entity 클래스에 @Table 어노테이션 name을 대문자로 지정했는데 JPA에서는 소문자로 받는 상황 그래서 해당 테이블이 존재하지 않는다고 에러 발생 중인 상황 ;; (ddl-auto : validate 로 했을시) @Entity @Table(name="TB_USER", schema = "public" ) @NoArgsConstructor @Getter public class User { @Column(name="user_name") private String userName; @Id @Column(name="user_email") private String userEmail; @Column(name="user_age") private int userAge; } Entity 클래스는 다음과 같..