728x90 반응형 spring34 [Redoc] SpringRestDocs로 Redoc으로 변환하기 Spring 문서화 도구 Spring에서 많이 사용되는 문서화 도구에는 RestDocs, Swagger가 있습니다. RestDocs : 테스트 케이스를 통과할때만 문서가 만들어지도록 강제하여 코드의 검증이 어느정도 가능하다. 문서 추가시 asciidoc 문서 수정 필요 Swagger : OpenAPI로 화려한 UI와 API 테스트가 가능한 문서 작성이 가능하다. Swager-UI 사용시 단점 : 코드에 어노테이션으로 도배되어 가독성이 떨어짐 Redoc : OpenAPI 스펙의 파일을 읽어 깔끔한 UI로 문서화가 가능하며, Swagger와 마찬가지로 OpenAPI 로 동작하기 때문에 함께 이용하기에 부담이없다. 참고사이트 RestDocs에서 OpenApi 스펙 추출 [https://taetaetae.git.. 2023. 4. 11. [Open Feign] Feign을 이용한 간단한 예제 Open Feign Netflix에서 처음 만들어진 선언적인(어노테이션 이용) HTTP Client Binder interface를 작성하고, annotaion을 선언한다. 마이크로 서비스 간에 통신 방법 중 하나로 많이 사용된다. 마이크로 서비스의 단점 API 호출 증가 -> 분산 시스템에서 API 호출부분을 계속 만들어줘야한다. Feign의 장점 인터페이스 작성을 통해 재사용성을 높인다. 목표 - Provider 서버로 api 제공 - Client 서버로 feign을 이용해 api 호출 Provider 서버 일반적으로 사용되고 있는 간단한 API 서버 작성 의존성 추가 dependencies{ implementation 'org.springframework.boot:spring-boot-starter.. 2023. 3. 6. [Spring boot 3.0.0 이상] build.gradle 설정 현상 Spring boot 3.0.0으로 업데이트 되면서 javax에서 jakarta로 넘어가는 패키지들이 문제를 발생한다. 예를들면, QueryDsl을 위한 설정 파일인 경우 JPAQueryFactory에 entityManager를 넣을 경우 에러가 발생한다. @Configuration public class QueryDslConfig { @PersistenceContext private EntityManager entityManager; @Bean public JPAQueryFactory jpaQueryFactory(){ return new JPAQueryFactory(entityManager); } } JPAQueryFactory의 EntityManager의 의존성 폴더는 javax.persiste.. 2022. 12. 13. Query DSL 시작하기 참고 Querydsl 기본문법 학습하기 Querydsl 다이나믹 쿼리 사용하기JPA와 비교 JPA 비교해 JPA의 장점 가독성이 좋다. JPA에서 기본적으로 제공하는 기능을 넘어서는 기능은 일반적으로 native query 옵션으로 수행한다. -> 문자열을 이어붙이는 형태이므로 오타로 인해 런타임 시 오류가 발생할 가능성이 높다. 컴파일 시점에서 에러를 체크할 수 있다. IDE의 자동 완성 기능이 지원된다. 동적쿼리를 지원한다. 단점 추가적인 학습이 필요하다. ex) member.age.gt(10)은 age > 10을 의미한다. native query문이 아니므로, RDBMS나 MySQL에서 쿼리문을 실행하기 위해서는 다시 쿼리문을 작성해야 한다. 주의 사항 jpa에서 사용되는 Entity 등의 어노테이.. 2022. 12. 12. 이전 1 2 3 4 5 ··· 9 다음 LIST