2024/06 14

Swagger를 통한 API 공개

Swagger를 통한 API 공개  Swagger란?개발한 REST API 를 편리하게 문서화 해주고, 이를 통해서 관리 및 제 3의 사용자가 편리하게 API를 호출해보고 테스트 할 수 있는 프로젝트 Spring Boot 에서는 간단하게  springfox-boot-starter 를 gradle dependencies 에 추가함으로 사용할 수 있음 (2.x 사용)   ➡️3.x 대에서는 springdoc 을 사용하는게 좋음 주의할 점은 운영환경과 같이 외부에 노출되면 안되는 곳에는 사용할 땐 주의 해야함   Swagger Annotation   예제                   feat. 패스트캠퍼스 - Java/Spring 웹 개발 마스터 초격차

JUnit으로 테스트 하기

JUnit으로 테스트 하기 TDD (Test-Driven-Development)테스트 주도 개발에서 사용하지만, 코드의 유지 보수 및 운영 환경에서의 에러를 미리 방지하기 위해서 단위별로 검증 하는 테스트 프레임워크 단위테스트작성한 코드가 기대하는 대로 동작을 하는지 검증 하는 절차 JUnitJava 기반의 단위 테스트를 위한 프레임워크, Annotation 기반으로 테스트를 지원하며, Assert 를 통해 (예상, 실제)를 통해 검증 JacocoJava 코드의 코드 커버리지를 체크하는 라이브러리, 결과를 html, xml, csv 로 확인 가능    예제        REST API CRUD 테스트          테스트 커버리지 확인하기 test 가 실행 되어야함 (더블클릭으로 실행)         ..

Server(Client) to Server 연결

Server(Client) to Server 연결지금까지는 Server의 입장에서 API 를 제공하는 방법에 대해서 학습함Back-end 에서 Client로 다른 Server 와의 연결은 필수임     예제 GET- Client     - Server     POST- Client     - Server    exchange / genericExchange - Client      - Server                feat. 패스트캠퍼스 - Java/Spring 웹 개발 마스터 초격차

Spring Boot Filter 와 Interceptor

Spring Boot Filter 와 Interceptor  FilterWeb Application에서 관리되는 영역으로써 Spring Boot Framework 에서 Client 로 부터오는 요청 / 응답에 대해 최초 / 최종 단계의 위치에 존재요청/응답의 정보를 변경하거나 Spring에 의해서 데이터가 변환되기 전의 순수한 Client 의 요청 / 응답 값 확인 가능유일하게 ServletRequest, ServletResponse 의 객체 변환Spring Framework 에서는 request / response 의 Logging 용도로 활용하거나 인증 관련된 Logic 들을 해당 Filter 에서 처리선 / 후 처리함으로써 Service business logic 과 분리 시킴     Interce..

Spring Boot Exception

Spring Boot Exception  Web Application 의 입장에서는 에러가 났을 때 내려 줄 수 있는 방법이 많지 않음에러 페이지 (Whitelabel Error Page)4XX Error 또는 5XX ErrorClient가 200 Error 외에 처리를 하지 못 할 때는 200을 내려주고 별도의 에러 Message 전달➡️ 이러한 처리들을 한곳에서 묶어서 처리하는 게 편함+  Exception 처리@ControllerAdvice페이징 처리를 하는 view resolver가 들어있는 Whitelabel Error Page, Error Page 를 내리는 것들을 글로벌 하게 처리할 수 있는 집합 장소@ExceptionHandler특정 컨트롤러에 ExceptionHandler 를 적용 시켜 ..

Spring Boot Validation

Spring Boot Validation  Validation 이란?프로그래밍에 있어 가장 필요한 부분null 값에 대해 접근 하려고 할 때 null point Exception 이 발생, 이러한 부분을 방지하기 위해 미리 검증 하는 과정을 말함public void run(String account, String pw, int age) { if(account == null || pw == null) { return } if(age == 0) { return } // 이후 Logic} 검증해야 할 값이 많은 경우 코드의 길이가 길어짐구현에 따라 달라질 수 있지만 Service Logic과 분리가 필요함흩어져 있는 경우 어디에서 검증을 하는지..