이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
사용자가 입력한 값이
어플리케이션 도메인 객체에
동적으로 할당되는 과정을 뜻한다.
그리고 데이터 바인딩 개념은
스프링뿐만 아니라 다른 곳에서도 사용되는 개념이다.
동적 할당이 필요한 이유는?
사용자는 주로 문자열을 입력하고
어플리케이션 도메인에는
다양하나 타압들의 객체들이 존재한다.
그러므로
사용자가 입력한 문자열을
객체가 갖고있는
다양한 타입으로 변환을 시켜야하기 때문에
동적 할당이 필요하다.
그런 변환해주는 과정을
데이터 바인딩이라 부르고
스프링에서는 데이터 바인딩 기능을 제공한다.
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
특정 타입의 데이터를 담고 있는 요청만
처리하는 핸들러 지정이 가능하다.
ex) @RequestMapping(consumes=MediaType.APPLICATION_JSON_VALUE)
Content-Type 헤더로 필터링을 한다.
= 핸들러에 consumes 조건을 추가하여 요청을 필터링한다.
매치 되는 않는 경우엔 415 : Unsupported Media Type 응답한다.
핸들러에 consumes라는 키워드를 사용하여
어떤 미디어 타입을 허용할 것인지 핸들러에게 명시해준다.
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
헤더(=header)와 매개변수(=param) 사용법은 동일하다.
Controller에서 사용 시 ~s를 붙히고
TC에서는 ~s를 붙히지 않는다.
## Controller
@GetMapping(value = "/hello", headers = HttpHeaders.FROM)
or
@GetMapping(value = "/hello", params = HttpHeaders.FROM)
## Test Code
.header(HttpHeaders.FROM, "localhost"))
.param(HttpHeaders.FROM, "localhost"))
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
- ? : 한 글자 (“/author/???” => “/author/123”)
- * : 여러 글자 (“/author/*” => “/author/goodgid)
- ** : 여러 패스 (“/author/** => “/author/goodgid/book”)
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
A must-have story for friends dreaming of new developers and programmers
동영상의 주인공이 필자는 아니다.
그저 유투브에서 신입 개발자를 위한 영상을 찾다가 본 영상일 뿐이다.