반응형
@PathVariable
- request uri패턴에서 일부를 argument로 받는 방법.
- Uri 패턴에서 이름과 argument의 이름이 다를경우 ()안에 명시해준다.
@PathVariable("id") Integer idvalue
- type conversion을 알아서 해준다. (String으로 받은 id값이 integer로 변환될 수 있다.)
- 값이 반드시 있어야 한다. (required = false)옵션으로 바꿀 수 있긴하다.
- Optional을 지원한다. (
@PathVariable Optional<String> id
)
사용예제
@GetMapping("/events/{id}") @ResponseBody public Event getEvent(@PathVariable Integer id) { Event event = new Event(); event.setId(idvalue); return event; }
@MatrixVariable
@PathVariable과 다르게 키/값 쌍의 데이터를 argument로 받는 방법.
Type conversion을 지원
값이 반드시 있어야 한다.
Optional을 지원
이 Annotation을 사용하려면 아래와 같은 설정으로 이 기능을 활성화 해야함.
@Configuration public class WebConfig implements WebMvcConfigurer { @Override public void configurePathMatch(PathMatchConfigurer configurer) { UrlPathHelper urlPathHelper = new UrlPathHelper(); // 세미콜론을 없애지 않도록 설정. urlPathHelper.setRemoveSemicolonContent(false); configurer.setUrlPathHelper(urlPathHelper); } }
사용예제
// request : '../events/1;name=hooong' @GetMapping("/events/{id}") @ResponseBody public Event getEvent(@PathVariable Integer id, @MatrixVariable String name) { Event event = new Event(); event.setId(idvalue); event.setName(name); return event; }
반응형
'Web > Spring' 카테고리의 다른 글
Thymeleaf 간단 사용법 (Form을 만들어보기) (0) | 2020.01.10 |
---|---|
[Spring MVC] HandlerMethod - @RequestMapping (0) | 2020.01.10 |
[Spring MVC] Custom Annotation 만들기 (0) | 2020.01.08 |
[Spring MVC] HEAD와 OPTIONS Request method (0) | 2020.01.08 |
[Spring MVC] 미디어타입 Mapping, headers와 param 속성 (0) | 2020.01.08 |