반응형

2025/04 6

API 예외 처리

API 예외 처리를 어떻게 해야할까?HTML 페이지의 경우 지금까지 설명했던 것처럼, 4xx, 5xx와 같은 오류 페이지만 있으면 대부분의 문제를 해결할 수 있었다.그런데 API의 경우에는 생각할 내용이 더 많다. 오류 페이지는 단순히 고객에게 오류 화면을 보여주고 끝이지만, API는 각 오류 상황에 맞는 오류 응답 스펙을 정하고, JSON으로 데이터를 내려주어야 한다. API의 경우 어떻게 예외처리를 하면 좋은지 알아보자.우선 처음으로 돌아가서 서블릿 오류 페이지 방식을 사용해보자.@Componentpublic class WebServerCustomizer implements WebServerFactoryCustomizer { @Override public void customize(Conf..

공부/Spring 10:55:17

예외 처리와 오류 페이지

예외 처리와 오류 페이지를 알아보기 위해 패키지를 만들도록 하자.https://start.spring.io/   서블릿 예외 처리 - 시작스프링이 아닌 순수 서블릿 컨테이너는 예외를 어떻게 처리하는지 알아보자. 서블릿은 다음 2가지 방식으롷 예외 처리를 지원한다.- 'Exception' 예외- 'response.sendError(HTTP 상태 코드, 오류 메시지)'  Exception(예외)자바 직접 실행 - 자바의 메인 메서드를 직접 실행하는 경우 main이라는 이름의 쓰레드가 실행된다. 실행 도중에 예외를 잡지 못하고 처음 실행한 main()메서드를 넘어서 예외가 던져지면, 예외 정보를 남기고 해당 쓰레드는 종료된다. 웹 애플리케이션 - 웹 애플리케이션은 사용자 요청별로 별도의 쓰레드가 할당되고, 서..

공부/Spring 2025.04.10

로그인 처리2 - 필터, 인터셉터

필터와 인터셉터를 알아보기 전, 쿠키와 세션관련 부분을 미리 확인해두자.https://surrealcode.tistory.com/137 로그인 처리1 - 쿠키, 세션로그인 요구사항- 홈 화면 - 로그인 전    - 회원 가입    - 로그인- 홈 화면 - 로그인 후    - 본인 이름(~님 환영합니다.)    - 상품 관리    - 로그 아웃- 보안 요구사항    - 로그인한 사용자만surrealcode.tistory.com  **정보**필터 :  서블릿에서 제공인터셉터 : 스프링에서 제공   서블릿 필터공통 관심 사항요구사항을 보면 로그인 한  사용자만 상품 관리 페이지에 들어갈 수 있어야 한다.하지만 로그인 하지 않은 사용자가 URL을 직접 입력하면 상품 관리 화면에 들어가진다. - http://lo..

공부/Spring 2025.04.08

로그인 처리1 - 쿠키, 세션

로그인 요구사항- 홈 화면 - 로그인 전    - 회원 가입    - 로그인- 홈 화면 - 로그인 후    - 본인 이름(~님 환영합니다.)    - 상품 관리    - 로그 아웃- 보안 요구사항    - 로그인한 사용자만 상품에 접근하고, 관리할 수 있음    - 로그인하지 않은 사용자가 상품 관리에 접근하면 로그인 화면으로 이동- 회원 가입, 상품 관리  Package 구조는 다음과 같다.packge 구조- hello.domain    - domain        - item        - member        - login    - web        - item        - member        - login *도메인이 가장 중요하다.* 도메인 = 화면, UI, 기술 인프라 등등의 영..

공부/Spring 2025.04.07

검증2 - Bean Validation

Bean Validation을 알아보기 전에 이전에 보았던 Validation을 참고하자.https://surrealcode.tistory.com/135 검증1 - Validation검증 요구사항기존에 만든 상품 관리 시스템은 허술한 부분이 많다. id가 없어도 등록이 되거나, int값을 받는 곳에 String을 넣게되면, 4xx번대 에러가 발생하는 등 문제가 많았다. 이 부분을 해결surrealcode.tistory.com BeanValidation검증 기능을 지금처럼 매번 코드로 작성하는 것은 상당히 번거롭다. 특히 특정 필드에 대한 검증 로직은 대부분 빈 값인지 아닌지, 특정 크기를 넘는지 아닌지와 같이 매우 일반적인 로직이다. 다음 코드를 보자public class Item { private..

공부/Spring 2025.04.03

검증1 - Validation

검증 요구사항기존에 만든 상품 관리 시스템은 허술한 부분이 많다. id가 없어도 등록이 되거나, int값을 받는 곳에 String을 넣게되면, 4xx번대 에러가 발생하는 등 문제가 많았다. 이 부분을 해결하기 위해 상품 관리 시스템에 새로운 요구사항이 추가되었다. 요구사항 : 검증 로직 추가- 타입 검증    - 가격, 수량에 문자가 들어가면 검증 오류 처리- 필드 검증    - 상품명 : 필수, 공백X    - 가격 : 1000원 이상, 백만원 이하    - 수량 : 최대 9999- 특정 필드의 범위를 넘어서는 검증    - 가격 * 수량의 합은 10,000원 이상 지금까지 만든 웹 애플리케이션은 폼 입력시 숫자를 문자로 작성하거나해서 검증 오류가 발생하면 오류 화면으로 바로 이동한다. 이렇게 되면 사..

공부/Spring 2025.04.01
반응형