hello jiniworld

hello jiniworld

  • hello jiniworld (218)
    • Spring (58)
      • Basic (15)
      • Spring Docs (6)
      • Spring Data JPA Tutorial (14)
      • Spring Boot Tutorial (17)
      • Jersey (6)
    • Go (17)
    • Dev (10)
      • Clean Architecture (3)
      • System Design (2)
      • Documents (2)
      • Client (2)
    • Infrastructure (5)
      • Docker (1)
      • Kubernetes (4)
    • DB (19)
      • MySQL (8)
      • MariaDB (9)
      • Oracle (1)
    • Java (52)
      • Basic (14)
      • coding test (27)
      • Effective Java (11)
    • Python (7)
      • Flask (1)
      • Basic (3)
      • Effective Python (1)
      • coding test (2)
    • Front-end (3)
      • Vanilla JS (2)
      • Basic (1)
    • Linux (11)
      • Basic (2)
      • Command-line (9)
    • Web Server (6)
      • CentOS 7 (5)
      • Oracle Linux 8 (1)
    • WAS (3)
    • CentOS 7 (17)
      • Basic (9)
      • Jenkins (8)
    • Etc (10)
      • Windows 10 (3)
      • trash bin (3)
05-31 08:05
  • 전체보기
  • 방명록
  • jini's GitHub
  • demo api
  • chaeking api
RSS 피드
로그인
로그아웃 글쓰기 관리

hello jiniworld

컨텐츠 검색

태그

MariaDB Spring Boot Tutorial go jenkins centos7 MySQL week1 Spring codility effectivejava Spring Boot spring docs hackerrank Command-Line Java springboot JAX-RS https Jersey SpringBoot2

최근글

댓글

공지사항

  • SSL 인증서 설정하기

아카이브

Spring(58)

  • [Jersey] 1. Jersey 프로젝트 생성하기

    2022.05.10
  • [Spring Data JPA Tutorial] 14. Swagger v3 상세설정 및 request 유효성 검증

    2022.04.20
  • [Spring Data JPA Tutorial] 13. Response 전용 DTO 클래스 이용하기

    2022.04.18
  • [Spring Data JPA Tutorial] 12. @ControllerAdvice와 @ExceptionHandler를 이용한 전역 Error Handling

    2022.04.18
  • [Spring Data JPA Tutorial] 11. Generic을 이용하여 Response 일반화하기

    2022.04.17
  • [Spring Data JPA Tutorial] 10. LazyInitializationException 해결하기 2. @OneToMany

    2022.04.15
[Jersey] 1. Jersey 프로젝트 생성하기

JAX-RS? Jersey? Jersey 프로젝트 생성 Project 설정 Spring Boot 버전 및 Dependencies 추가 build.gradle에 lombok관련 dependencies 직접 추가 간단한 조회 API 테스트 프로퍼티 설정 Endpoint 설정 컴포넌트 등록 실행 결과 1. JAX-RS? Jersey? JAX-RX는 Java API for RESTful Web Services의 약자로, Java 플랫폼에서 경량화된 REST 웹 애플리케이션 구현을 지원하는 Java API 입니다. Jersey는 JAX-RS 요구사항에 맞게 구현된 프레임워크로, Spring MVC 보다 경량화 되어있어, api 정의가 매우 간결합니다. Spring Boot 에서는 jersey를 쉽게 이용할 수 있..

2022. 5. 10. 16:55
[Spring Data JPA Tutorial] 14. Swagger v3 상세설정 및 request 유효성 검증

필요성 OpenAPI doc 관련 Annotation operation 그룹 설정: @Tag Schema 설정 : @Schema 상세 정보 설정 : @Operation response 설정 : @ApiResponse parameter 설정 : @Parameter 기존 api에 적용하기 @Tag 설정 @Schema 및 유효성 검증 설정 @Operation 설정 @ApiResponse 설정 @Parameter 설정 Exception 처리 보완 1. 필요성 Swagger를 이용하여 API를 자동 웹문서화 하였고, Response로 받게될 Example Value 형태까지 맞췄봤습니다. 그러나, 아직 Swagger 페이지 만으로 api 기능을 한눈에 알아보기 어렵습니다. 각 operation들에 대한 부연설명도..

2022. 4. 20. 17:46
[Spring Data JPA Tutorial] 13. Response 전용 DTO 클래스 이용하기

Response 전용 DTO 정의의 필요성 사전 작업 Response 용 DTO 정의 조회 api 수정 user 전체 조회 api user 단건 조회 api store 전체 조회 api store 단건 조회 api Response 결과 1. Response 전용 DTO 정의의 필요성 LazyInitializationException 해결하기 2. @OneToMany 시간 때에, @OneToMany 연관관계를 알아보기 위해, User 엔티티의 stores 필드에는 @JsonIgnore설정을 제거했고, Store 엔티티에서는 순환참조 에러를 방지하기 위해 user 필드값에 @JsonIgnore 설정을 추가했습니다. 그러나, 기존의 방식은 몇가지 문제점이 있습니다. User 조회 api에서 stores 정보를..

2022. 4. 18. 17:04
[Spring Data JPA Tutorial] 12. @ControllerAdvice와 @ExceptionHandler를 이용한 전역 Error Handling

전역 Error Handling의 필요성 전역 예외처리 설정 커스텀 RuntimeException 정의 @ControllerAdvice를 이용한 전역 Error Handling Service, Controller 메서드 수정 user 단건 조회 user 추가 user 수정 user 삭제 변경화면 단건조회 api Example Value 개선 익셉션 발생시 Response 1. 전역 Error Handling의 필요성 이전시간에 만들었던 API에서 아쉬웠던 점이, 존재하지 않는 사용자나 가게를 조회할 때에 BaseResponse를 내보내도록 정의하여, Swagger 상에 실질적인 사용자 단건조회 또는 가게 단건조회의 response 형태를 Swagger 웹문서에서 미리보기 하기 어렵다는 점이었습니다. 그 ..

2022. 4. 18. 12:04
[Spring Data JPA Tutorial] 11. Generic을 이용하여 Response 일반화하기

Response 타입 개선의 필요성 Response 클래스 정의 MessageUtils BaseResponse DataResponse 변경하기 user 단건 조회 user 수정 user 삭제 user 추가 user 전체 조회 store 단건 조회 store 전체 조회 변경된 Swagger 화면 및 추후 개선해야할 사항 1. Response 타입 개선의 필요성 이전 시간에 만들었던 api들의 Response 타입은 모두 Map 이었습니다. Map으로 만드는 것이 기능상으로 문제될 것은 없지만, OpenAPI 웹문서 상에 response 응답값에 대한 도움을 받기 어렵다는 단점이 있습니다. Swagger 웹 페이지로 API 문서를 대체하기 위해서는, Swagger 웹페이지만으로도 api 형태를 최대한 쉽게 ..

2022. 4. 17. 17:46
[Spring Data JPA Tutorial] 10. LazyInitializationException 해결하기 2. @OneToMany

사전작업 Entity 수정 User Store api 테스트 LazyInitializationException 해결 @JsonIgnore Transactional 내부에서 연관관계 미리 조회 권장 Entity 설정에서 FetchType.EAGER로 설정 EntityGraph fetch join N+1 문제 해결 Transactional 내부에서 연관관계 미리 조회 Service batch size 미적용시 batch size 적용 @BatchSize default_batch_fetch_size 권장 query Entity 설정에서 FetchType.EAGER로 설정 EntityGraph fetch join 1. 사전작업 이전 포스팅에 이어서 이번 시간에는 1:N 연관관계 필드값을 가지는 엔티티 조회에서 ..

2022. 4. 15. 16:55
1 2 3 4 5 6 ··· 10
JINIWORLD
© jiniworld. All rights reserved.

티스토리툴바