spring web mvc 6

[Spring] HTTP 요청 맵핑 - 커스텀 애노테이션

Custom Annotation 직접 커스터마이징 하는것이 커스텀 애노테이션이다. @RequestMapping 애노테이션을 메타 애노테이션으로 사용하기 @GetMapping 같은 커스텀한 애노테이션을 만들 수 있다. 메타(Meta) 애노테이션 애노테이션에 사용할 수 있는 애노테이션 스프링이 제공하는 대부분의 애노테이션은 메타 애노테이션으로 사용할 수 있다. 조합(Composed) 애노테이션 한개 혹은 여러 메타 애노테이션을 조합해서 만든 애노테이션 코드를 간결하게 줄일 수 있다. 보다 구체적인 의미를 부여할 수 있다. @Retention 해당 애노테이션 정보를 언제까지 유지할 것인지. Source: 소스 코드까지만 유지. 즉, 컴파일 하면 해당 애노테이션 정보는 사라진다는 이야기이다 Class: 컴파인 ..

Spring/Spring MVC 2020.11.15

[Spring] HTTP 요청 맵핑 - HEAD와 OPTIONS

HEAD와 OPTIONS 우리가 구현하지 않아도 스프링 웹 MVC에서 자동으로 처리하는 HTTP Method HEAD OPTIONS HEAD GET 요청과 동일하지만 응답 본문을 받아오지 않고 응답 헤더만 받아온다. (테스트 하기 위함) 예시 @Controller public class SampleController { @GetMapping( value = "/hello", params = "name=sungjun" ) @ResponseBody public String hello() { return "hello"; } } @WebMvcTest public class SampleControllerTest { @Autowired MockMvc mockMvc; @Test public void helloTest..

Spring/Spring MVC 2020.11.15

[Spring] HTTP 요청 맵핑 - 헤더와 매개변수

헤더와 매개변수 특정한 헤더가 있는 요청을 처리하고 싶은 경우 @RequestMapping(headers = “key”) @Controller public class SampleController { @GetMapping( value = "/hello", headers = HttpHeaders.AUTHORIZATION ) @ResponseBody public String hello() { return "hello"; } } @WebMvcTest public class SampleControllerTest { @Autowired MockMvc mockMvc; @Test public void helloTest() throws Exception { mockMvc.perform(get("/hello") .hea..

Spring/Spring MVC 2020.11.15

[Spring] HTTP 요청 맵핑 - 미디어 타입

미디어 타입 맵핑 특정한 타입의 데이터를 담고 있는 요청만 처리하는 핸들러 @RequestMapping(consumes=MediaType.APPLICATION_JSON_UTF8_VALUE) Content-Type 헤더로 필터링 매치 되는 않는 경우에 415 Unsupported Media Type 응답 특정한 타입의 응답을 만드는 핸들러 @RequestMapping(produces=”application/json”) Accept 헤더로 필터링 (하지만 살짝... 오묘함) 매치 되지 않는 경우에 406 Not Acceptable 응답 문자열을 입력하는 대신 MediaType을 사용하면 상수를 (IDE에서) 자동 완성으로 사용할 수 있다. 클래스에 선언한 @RequestMapping에 사용한 것과 조합이 되..

Spring/Spring MVC 2020.11.15

[Spring] HTTP 요청 맵핑 - URI 패턴 맵핑

URL(Uniform Resource Locator 또는 web address, 문화어: 파일식별자, 유일자원지시기) 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약이다. 즉, 컴퓨터 네트워크와 검색 메커니즘에서의 위치를 지정하는, 웹 리소스에 대한 참조이다. 쉽게 말해서, 웹 페이지를 찾기위한 주소를 말한다. 흔히 웹 사이트 주소로 알고 있지만, URL은 웹 사이트 주소뿐만 아니라 컴퓨터 네트워크상의 자원을 모두 나타낼 수 있다. 그 주소에 접속하려면 해당 URL에 맞는 프로토콜을 알아야 하고, 그와 동일한 프로토콜로 접속해야 한다. URI Uniform Resource Identifier. resource의 식별자이다. 리소스의 식별은 리소스의 위치를 표시하거나 unique한 이름으로 접근할..

Spring/Spring MVC 2020.11.15

[Spring] HTTP 요청 맵핑 - 요청 메소드

HTTP Method GET, POST, PUT, PATCH, DELETE, ... GET 요청 클라이언트가 서버의 리소스를 요청할 때 사용한다. 캐싱 할 수 있다. (조건적인 GET으로 바뀔 수 있다.) 브라우저 기록에 남는다. 북마크 할 수 있다. 민감한 데이터를 보낼 때 사용하지 말 것. (URL에 다 보이니까) idempotent(멱등) Controller import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public ..

Spring/Spring MVC 2020.11.15