- 버전: 2.6.2
- 목적: Spring Boot는 Spring 기반의 어플리케이션을 쉽게 설정하고 시작할 수 있도록 지원하는 프레임워크
- 목적: Spring Data JPA는 데이터 액세스 계층을 개발하기 위한 ORM
- 버전: 3.0.504
- 목적: Redis는 인메모리 데이터 구조 저장소로, 분산락 사용을 위해 사용
- 버전: 5.0.0
- 목적: QueryDSL은 타입 안전한 쿼리 생성을 위한 프레임워크
- 버전: 5.8.2
- 목적: JUnit 5는 Java에서 단위 테스트를 작성하고 실행하기 위한 프레임워크
- 버전: 5.2.3
- 목적: Apache POI는 Microsoft Office 형식의 파일을 읽고 쓰기 위한 Java API
- 목적: Lombok은 Java에서 boilerplate 코드를 줄여주는 라이브러리
- 버전: 1.2.6
- 목적: Logback은 Java의 로깅 프레임워크로, SLF4J와 함께 사용
-
POSTMAN COLLECTION
-
API 엔드포인트
- Health API:
http://localhost:8080/api/status/health
- 단건등록 API:
http://localhost:8080/api/v1/orders
- 엑셀 다건 등록 API:
http://localhost:8080/api/v1/orders/excel
- 기본 엑셀 파일: excel_order.xlsx
- 빈값 존재 엑셀파일: excel_order_fail_empty.xlsx
- 천건 등록 엑셀파일: excel_order_1000.xlsx
- 천건 등록 재고부족 엑셀파일: excel_order_1000_fail_stock.xlsx
- Health API:
2024-09-08 10:12:21.084 INFO 32252 --- [nio-8080-exec-3] org.jyj.common.filter.CustomFilter : {"threadId":"http-nio-8080-exec-3","method":"POST","url":"/api/v1/orders","userAgent":"PostmanRuntime/7.41.2","host":"localhost:8080","clientIp":"0:0:0:0:0:0:0:1","requestParams":"{\r\n \"orderBasicInfo\": {\r\n \"orderDt\": \"2024-09-01\",\r\n \"whCd\": \"YI01\",\r\n \"ordererNm\": \"주문자명01\",\r\n \"ordererAdress\": \"주문자명01주소\",\r\n \"orderType\": \"NORMAL_ORDER\",\r\n \"status\": \"REQUEST\"\r\n },\r\n \"orderItemInfoList\": [\r\n {\r\n \"itemCd\": \"M00001\",\r\n \"itemNm\": \"상품명01\",\r\n \"itemCnt\": 2\r\n },\r\n {\r\n \"itemCd\": \"M00002\",\r\n \"itemNm\": \"상품명02\",\r\n \"itemCnt\": 1\r\n }\r\n ]\r\n}\r\n","responseParams":"{\"message\":\"주문 단건 등록\",\"data\":{\"orderNo\":\"YI012024-09-0100001\"}}","requestAt":"2024-09-08 10:12:20.669","responseAt":"2024-09-08 10:12:21.084","elapsedTimeInMS":415}