시작하며.. 백앤드 API 개발자라면 누구든 쉽게 API를 만들 수 있도록 시리즈를 작성할 예정입니다. 프로젝트 생성부터 차근차근 하나씩 진행 할 예정이며, 많음 분들께 도움이 되었으면 합니다. 그럼 시작하겠습니다!😀 📚 필요한 사전 지식 👉 Java 👉 S
OpenJDK download, Spring initializr, Run springboot application
application.properties, .yml 차이, @Controller, @RestController 차이, Http methods, requestMapping, consumes, produces, @RequestBody, @ResponseBody
Download and install Postgresql, DBeaver, DBCP, hikari, application.yml database 설정
Springboot banner 변경 방법
Database Table 생성, Entity 생성, Springboot JPA 관련 설정, open-in-view, @Temporal
JPA 조회, record 사용, Controller, Service, Repository, 요청 응답 데이터 테스트, Entity와 record를 분리하는 이유, Spring DI, Service interface 생성이유, Override, Overload
JPA 조건 조회, RESTFul API URI 생성 규칙, @PathVariable, @RequestParam
공통 응답 구조체 사용 시 장점, 공통 메시징 처리, message.properties, Resource Bundle, Java Generic, Wildcard type, HTTP Status code
Resource Bundle, LocaleResolver, MessageConfig, Chrome 언어 변경, i18n
GlobalExceptionHandler, @ControllerAdvice, AOP(Aspect Oriented Programming), ExceptionResolver
Code Enum 설정, Error, Normal code 구분, message 와 code 분리, @Slf4j, LoggerFactory.getLogger
@EnableJpaAuditing, @MappedSuperclass, BaseEntity, JPA 생명주기, 영속, 비영속, 준영속, 삭제 상태
JPA Entity 데이터 생성, Talend API Tester, SimpleJpaRepository 의 save method, isNew, Override isNew
JPA Entity 데이터 수정, SimpleJpaRepository saveAndFlush method, JPA Transaction, @Transactional, ACID 원칙, 전파, 격리
JPA Entity 데이터 삭제, SimpleJpaRepository delete method, delete, deleteById
Custom Exception 생성, 예외처리, checked, unchecked exception
@Valid, @Validated, ArgumentResolver, validation.constraints package, GlobalExceptionHandler 를 활용한 공통 유효성 검증 메시지 전송
Entity 와 Record 를 분리하는 이유에 대해선 이전에 알아보았습니다. 그럼 매번 이렇게 번거로운 작업을 해야 할까요? Java 에서는 객체간 매핑을 수행하는 라이브러리들이 있습니다. ModelMapper, MapStruct, Jmapper, Orika 등이 있
📌Swagger API 문서 자동화 라이브러리인 Swagger 에 대해서 알아보겠습니다. > 스웨거(Swagger)는 개발자가 REST 웹 서비스를 설계, 빌드, 문서화, 소비하는 일을 도와주는 대형 도구 생태계의 지원을 받는 오픈 소스 소프트웨어 프레임워크이다. 대
Swagger 상세 설정 방법. @OpenAPIDefinition, @Tag, @Operation, @Schma
OperationCustomizer, operaion, handlerMethod 확인, 공통 Response 추가, Response 정보 수정
단방향, 양방향, 다중성, 연관관계의 주인, Owner, @ManyToOne, @OneToMany, 연관관계 편의 메서드, mappedBy, cascade, fetch, orphanRemoval, optional
🔐JWT (Json Web Token), 구조, 장/단점, 단점 보완, Access, Refresh Token, 탈취 보완 대책, 샘플코드, Token 생성, Filter 추가, Spring Security 설정, 로그인
🔐RSA, 비대칭 암호화, RSA의 기본 개념, RSA의 장단점, public, private key 생성, 암호화, 복호화 샘플 코드
🔐AES, 대칭 암호화, AES 기본 개념, 암호화 모드, AES 특징, 장단점, 샘플코드, 키생성, 암/복호화, 키요청 등
🔐하이브리드 암호화, 동작방식, 장점, 샘플 코드, 하이브리드 암호화는 RSA의 강력한 보안과 AES의 효율적인 성능을 동시에 충족하는 방식으로, 대규모 데이터 전송 및 보호가 중요한 다양한 시스템에서 필수적으로 사용되는 암호화 기법입니다.
횡단관심사, Filter, Interceptor, AOP 의 실행시점, 활용, 장단점, Sample code, GenericFilterBean