Spring MVC 사용자 정의 유효성 검사
1. 설정 API의 이점을 활용하기 위해 pom.xml 파일에 종속성을 추가한다. <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6....
1. 설정 API의 이점을 활용하기 위해 pom.xml 파일에 종속성을 추가한다. <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6....
1. HttpServletResponse 사용 이미지 다운로드의 가장 기본적인 접근 방식은 응답 객체에 대해 직접 작업하고 순수 서블릿 구현을 모방하는 것이다. @RequestMapping(value = "/image-manual-response", method = RequestMethod.GET) public void getImageAsByteAr...
1. 커먼즈 파일 업로드 CommonsMultipartResolver를 사용하여 파일 업로드를 처리하려면 다음 종속성을 추가해야 한다. <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</ar...
1. 스프링 MVC 핸들러 Spring 인터셉터가 작동하는 방식을 이해하기 위한 HandlerMapping을 확인한다. HandlerMapping의 목적은 핸들러 메서드를 URL에 매핑하는 것이다. 그렇게 하면 DispatcherServlet이 요청을 처리할 때 호출할 수 있다. 실제로 DispatcherServlet은 HandlerAdapter를...
1. 콘텐츠 협상 전략 일반적으로 요청의 미디어 유형을 결정하는 세 가지 옵션이 있다. (사용되지 않음) 요청에 URL 접미사(확장자) 사용(예: .xml/.json) 요청에 URL 매개변수 사용(예: ?format=json) 요청에 Accept 헤더 사용 기본적으로 이것은 Spring 콘텐...
1. 사용자 지정 상태 코드 반환 Spring은 컨트롤러 클래스에서 사용자 정의 상태 코드를 반환하는 몇 가지 기본 방법을 제공한다. ResponseEntity 사용 예외 클래스에서 @ResponseStatus 주석 사용 @ControllerAdvice 및 @ExceptionHandler 주석 사용 ...
1. 스프링 부트 사용 Spring Boot는 정적 리소스 제공을 용이하게 하기 위해 미리 구성된 ResourceHttpRequestHandler 구현과 함께 제공된다. 기본적으로 이 핸들러는 클래스 경로에 있는 /static, /public, /resources 및 /META-INF/resources 디렉토리의 정적 콘텐츠를 제공한다. src/ma...
1. Put을 사용해야 하는 경우와 Patch를 사용해야 하는 경우 클라이언트가 기존 리소스를 완전히 교체해야 하는 경우 PUT을 사용할 수 있다. 부분 업데이트를 수행할 때 HTTP PATCH를 사용할 수 있다. 예를 들어 리소스의 단일 필드를 업데이트할 때 전체 리소스 표현을 보내는 것은 번거로울 수 있으며 불필요한 대역폭을 많이 사용한다. 이러...
1. 간단한 매핑 @PathVariable 주석은 기본 키로 엔터티를 식별하는 엔드포인트이다. @GetMapping("/api/employees/{id}") @ResponseBody public String getEmployeesById(@PathVariable String id) { return "ID: " + id; } 이 예에서는 @...
1. Spring MVC의 JSON 매개변수 JSON을 사용하여 데이터를 보내거나 받는 것은 웹 개발자 사이에서 일반적인 관행이다. JSON 문자열의 계층 구조는 HTTP 요청 매개변수를 표현하기 위해 보다 간결하고 사람이 읽을 수 있는 방법을 제공한다. 기본적으로 Spring MVC는 String과 같은 간단한 데이터 유형에 대한 즉시 사용 가능한...