JeongKeepsCalm
Home
JeongKeepsCalm
Cancel

Handling API Exception

API 예외 처리는 어떻게 해야할까? HTML 페이지의 경우 4xx, 5xx와 같은 오류 페이지를 만들어 문제를 해결했다. API의 경우 각 오류 상황에 맞는 오류 응답 스펙을 정하고 JSON으로 데이터를 내려주어야 한다. Customized Error Page Setting @Component public class WebSer...

Servlet Filter & Spring Interceptor

공통 관심사(cross-cutting concern) 애플리케이션 여러 로직에서 공통으로 관심이 있는 것 로그인 한 사용자만 아이템 목록을 볼 수 있는 것은 등록, 수정, 삭제, 조회 등 여러 로직에서 공통으로 인증에 대하여 관심을 갖고 있다. 스프링 AOP로도 해결 가능하지만, 웹과 관련된 공통 관심사는 서블릿 필터 / 스프링 인터셉터...

HandlerMethodArgumentResolver

HandlerMethodArgumentResolver 컨트롤러 메소드의 파라미터를 동적으로 해석하고 처리하는 역할 해당 인터페이스를 구현해서 파라미터에 대해 커스텀 로직을 적용할 수 있다. 커스텀 어노테이션 적용 @Login 어노테이션 개요 해당 애노테이션이 있으면 직접 만든 ArgumentResolver...

@Builder With Class / Constructor

클래스 단위의 @Builder 특징 클래스 레벨에 @Builder를 선언하면 모든 필드를 포함하는 빌더를 생성한다. 별도의 생성자 정의가 필요하지 않는다. (Lombok이 기본 생성자를 자동으로 생성하기 때문이다.) 모든 필드가 선택적으로 초기화될 수 있다. 장점 객...

[Issue] Hosts Setting

Hosts file Setting Issue: 코드 소스르 받고 로컬로 접속이 안되는 상황 호스트 파일에 경로를 추가해야 접속 가능 호스트 파일 경로 : c:\Windows\System32\drivers\etc 127.0.0.1: 현재 기기의 로컬 IP 주소

Spring Bean Validation Priority

Interfaces In Class public class ValidationGroups { public interface First{}; public interface Second{}; public interface Third{}; public interface Forth{}; } @GroupSequence @GroupS...

Cookie & Session

패키지 구조 설계 package 구조 hello.login domain item member login web ...

Spring Bean Validation

Bean Validation 검증 로직을 모든 프로젝트에 적용할 수 있게 공통화하고, 표준화 한 것 애노테이션 하나로 검증 로직을 매우 편리하게 적용 특정한 구현체가 아니라 Bean Validation 2.0(JSR-380)이라는 기술 표준 검증 어노테이션과 여러 인터페이스의 모음(마치 JPA가 표준 기술이고 그 구현체로 하이버네이트...

Spring Validation

BindingResult 스프링이 제공하는 검증 오류를 보관하는 객체이다. 검증 오류가 발생하면 여기에 보관하면 된다. BindingResult 가 있으면 @ModelAttribute 에 데이터 바인딩 시 오류가 발생해도 컨트롤러가 호출 매개변수로 검증 객체 뒤에 위치한다. @PostMapping("/add") public Strin...

Spring Message

메시지 관리 기능 사용 @Bean public MessageSource messageSource() { ResourceBundleMessageSource ms = new ResourceBundleMessageSource(); ms.setBasenames("messages", "errors"); ms.setDefaultEncoding("ut...