Free Lines Arrow
본문 바로가기
728x90

분류 전체보기379

[Spring] API 예외 처리(HandlerExceptionResolver) API 예외 처리 백엔드 개발자면 API 예외 처리를 가장 많이 다룰 것이다. 보통 JSON 형태로 200, 400, 500 대 상태코드로 응답을 주게 된다. 그럼 어떻게 JSON 으로 응답을 주는지 차근 차근 공부해 보면서 알아본다. API 예외 처리 응답방식 스프링 부트는 BasicErrorController 가 제공하는 기본 정보들을 활용하여 API 를 생성해서 준다. { "timestamp": "2021-04-28T00:00:00.000+00:00", "status": 500, "error": "Internal Server Error", "exception": "java.lang.RuntimeException", "trace": exception 추적 내용, "message": "잘못된 사용자",.. 2022. 6. 26.
[Spring] 예외 처리 이론 및 기초 예외 처리 이론 및 기초 웹애플리케이션에서 예외처리를 알아보자. 웹 애플리케이션 웹애플리케이션은 사용자 요청이 오면 별도의 쓰레드로 각각 실행이 된다. 웹애플리케이션에서 예외를 처리하지 못하고 서블릿 밖으로 전달 되면 어떻게 되는지 보자 서블릿에서 예외 처리 방식 및 흐름 서블릿에서 예외가 발생하면 다음과 같은 방식으로 진행이 된다. 1 번: 일반 요청이 들어와 컨트롤러까지간다. 2 번: 익셉션이 터지고 예외로 잡지 않으면 WAS 까지 전달이 된다. 3 번: 해당 에러가 어떤건지 확인하고 에러 페이지를 보여주기 위해 다시 컨트롤러까지 간다. 문제점 불필요한 호출이 발생 한다. 예외가 발생하면 다시 오류페이지를 찾기 위해 인터셉터 서블릿을 거치게 된다. 매우 비효율 적이다. 비효율적인 이유는 이미 처리를 .. 2022. 6. 25.
[Java] Generic 메서드 Generic 메서드 메서드 선언 부에 지네릭 타입이 선언된 메서드를 지네릭 메서드라고 한다. 원래 static 메서드에는 타입 매개변수를 쓸수 없다. 하지만 메서드에 제네릭 타입을 선언하고 사용하는 것은 가능하다 public static void repair(VehicleContainer vehicleContainer) 사용할때는 아래와 같이 타입을 명시해 줘야 한다. VehicleServiceCenter.repair(boatVehicleContainer); VehicleServiceCenter.repair(carVehicleContainer); Generic 메서드 예제 1 이제 선언부에 제네릭 타입을 선언해 줬기 때문에 매개변수로 지네릭을 받을수 있다. @Slf4j public class Vehic.. 2022. 6. 25.
[Java] Generic 와일드 카드 Generic 와일드 카드 앞서 제한자를 알아봤다 이제 제한자의 한계점을 알아보고 그에 와일드 카드를 사용하여 이점을 해결해본다. Generic 와일드 카드 의 구조 모든 타입이 가능하다. extends 의 제한 사항 static 클래스에서 타입 매개변수 T 를 매개변수에 사용할수 없다. 같은 경우는 해당 클래스만 받을수 있다. public static void repair(VehicleContainer vehicleContainer) { log.info("container list size : {}", vehicleContainer.getSize()); List vehicles = vehicleContainer.getVehicleList(); for(Vehicle vehicle : vehicles) {.. 2022. 6. 25.
728x90
반응형