목록2023/07 (26)
Rootable의 개발일기

📌 Bean Validation이란 검증 기능을 매번 코드로 작성하는 것은 번거롭고, 검증 로직은 대부분 범위나 빈값을 체크하는 일반적인 로직이다. 애노테이션으로 일반적인 검증 로직을 모든 프로젝트에 적용할 수 있도록 공통화하고, 표준화한 것 특정한 구현체가 아니라 Bean Validation 2.0(JSR-380)이라는 기술 표준이다. 즉, 검증 애노테이션과 여러 인터페이스의 모음이다. Bean Validation을 구현한 기술 중에 일반적으로 사용하는 구현체는 하이버네이트 Validator이다. 📌 스프링에 Bean Validation 적용 Bean Validation 의존 관계를 추가해야 한다. //build.gradleimplementation 'org.springframework.boot:s..

📌 필요성 고객이 브라우저에서 타입에 맞지 않는 값을 입력하거나 정해진 범위를 벗어난 값을 입력했을 때, 입력 값에 대한 검증이 필요하다. 이유는 다음과 같다. 1. 고객이 입력했던 값을 유지해야 한다. - 언제든지 고객에게 재입력 기회를 줘야 서비스의 연속성이 유지될 수 있다. 2. 올바른 입력인지 안내해야 한다. - 고객의 올바른 입력을 유도해야 한다. 3. 타입 미스매치와 같은 바인드 실패 상황에서도 컨트롤러가 실행되도록 해야 한다. - 페이지에서 강제로 이탈시키는 것을 막아야 서비스 연속성이 유지될 수 있고, 이는 고객 만족도와 연결된다. 💡 클라이언트 및 서버에서의 검증고객과 가까운 클라이언트 검증은 조작할 수 있어 보안에 취약하다. 또한, 서버만으로 검증하는 것은 고객 사용성이 떨어진다. ..

📌 개요 스프링 MVC 구조에서 요청이 들어오면 가장 먼저 Dispatcher Servlet에서 요청과 매핑되는 핸들러를 찾는다. 핸들러를 실행하는 주체는 HandlerAdapter다. 그래서 Dispatcher Servlet은 매핑된 핸들러를 실행해 줄 HandlerAdapter를 목록에서 찾는 것이다. 핸들러(컨트롤러) 종류에 따라 호출되는 HandlerAdapter가 달라지는데, 우리는 @RequestMapping 또는 이를 간략화한 @GetMapping, @PostMapping 등이 붙은 핸들러를 많이 사용한다. 이러한 애노테이션 기반의 핸들러를 실행해 주는 HandlerAdapter를 RequestMappingHandlerAdapter라고 한다. 요청 매핑 핸들러 어뎁터 == RequestM..

📌 역할 1. HTTP 메시지 바디의 내용을 우리가 읽을 수 있도록 객체 또는 문자로 변환해 준다.2. HTTP 메시지 바디에 우리가 생성한 데이터를 적을 수 있도록 한다.3. HTTP 메시지 컨버터는 지원하는 클래스 타입, 미디어 타입에 따라 메시지 컨버터가 선택된다. HTTP Body의 데이터를 직접 읽거나 생성할 때 사용 📌 사용 원리 @ResponseBody를 사용하면 HttpMessageConverter가 동작한다. 이 경우, 뷰 리졸버가 동작하지 않는다. 따라서, 화면을 렌더링 하지 않고 HTTP 바디의 데이터를 읽거나 쓸 수 있도록 변환하는 작업을 한다. 예를 들어 아래 그림처럼 String 타입 데이터를 받은 후 String 타입 데이터를 내려주는 경우, HttpMessageConver..