Spring Http HEAD, OPTIONS 요청 처리 Spring MVC에서 자동으로 처리하는 Http Method HEAD OPTIONS HEAD GET 요청과 동일하지만, 응답본문을 받아오지않고, 응답 헤더만 가져온다. OPTIONS 사용할수 있는 HTTP Method제공 서버 또는 특정 리소스가 제공하는 기능을 확인하는 용도 서버는 Allow 응답 헤더에 사용할 수 있는 HTTP Method 목록을 응답 해야한다. Spring MVC 를 사용한다면 기본적으로 제공하는 기능이기 때문에 따로 구현을 할 필요가 없다.
Spring - Header, Parameter Mapping 특정한 헤더와 관련된 요청을 매핑하고싶은경우 @RequestMapping 애노테이션의 headers 속성을 활용해서 매핑을 하면된다. headers에 오는 값의 경우 org.springframework.http.HttpHeaders 에 정의된 상수가 존재하기때문에 해당 상수를 활용할것 org.springframework.http.HttpHeaders AUTHORIZATION 이라는 Header가 존재하는 경우에만 매핑이 되도록 핸들러 코드 작성 AUTHORIZATION 이라는 Header가 없는 요청을 테스트 테스트 결과 404 NotFound 응답 다음과 같이 매핑되는 핸들러가 없다는 응답을 리턴 특정한 헤더가 있는 요청 매핑하기 @Requ..
Spring - ContentType Mapping 특정한 타입의 데이터를 담고있는 요청만 처리하도록 매핑하기 @RequestMapping의 consumes 속성을 활용 consumes에는 문자열이 오는데 문자열을 사용할경우 오탈자가 발생하는등 개발자에 의한 오류가 발생할수 있기때문에 org.springframework.http.MediaType에 정의된 상수를 사용할것을 권장한다. String Type은 _VALUE로 끝나는 상수를 사용하자 org.springframework.http.MediaType.java ContentType이란 ? HttpHeader중 ContentType 은 해당 본문의 DataType을 알려주는 역할을 한다. JSON 요청만 처리하도록 하는 Handler 코드 작성 테스트 ..
Spring - URI Pattern Mapping 요청 매핑 @RequestMapping 애노테이션에서 문자열로 요청을 매핑하는 경우를 말한다. 식별자로 매핑 @RequestMapping은 패턴을 지원한다. ?: 한글자 *: 여러글자 **: 여러패스 @Controller public class MvcController { @GetMapping("/hello?") @GetMapping("/hello*") @GetMapping("/hello/**") @ResponseBody public String hello () { return "hello"; } } ClassLevel에 선언한 @RequestMapping과 조합 Class에 선언한 URI 패턴뒤에 이어 매핑한다. @Controller @RequestM..