티스토리 뷰

Spring

Spring - MVC PathVariable_MatrixVariable

엔꾸꾸 2019. 7. 25. 22:20

Spring Handler Method - URI Pattern

  • 요청 URI 패턴의 일부를 Method Arguement로 받을 수 있다.

  • @PathVariable

    • 요청 URI 패턴의 일부를 핸들러 메서드의 Argument로 받아올 수 있다.
    • 타입변환 지원
    • java1.8 부터 Optional을 지원한다. (requried false와 동일)
    • required 속성을 통해 필수 값 유무를 지정가능 기본은 true
  • Event Handler

Event Handler

 

  • @MatrixVaraible

    • RFC 3985
    • 요청 URI 패턴에서 key/value 쌍의 데이터를 Method Argument로 받을수 있다.
    • 타입변환 지원
    • 값이 반드시 있어야한다.
    • Optional을 지원한다.
    • 이 기능은 기본적으로 비활성화 되어있으며, 활성화시 추가적인 설정이 필요하다.

 

  • WebConfig.java

    • 기본적으로 UrlPathHelper 가 ; 세미콜론을 지워버리기 때문에 MatrixVariable을 매핑할 수 없음
    • 따라서 세미콜론을 지우는옵션을 false로 변경해서 새로이 등록해준다.

WebConfig.java

 

  • Event Handler

    • GET http://localhost:8080/events/15;q=11/pets/42;/q=22
    • 위의 매핑의 경우를 다음과 같이 MatrixVariable로 받아올 수 있다.
    • 15;q=11 부분이 모두 ownerId에 해당하는 파트
    • 42;/q=22 부분이 모두 petId에 해당하는 파트
    • 해당 파트중 키,벨류쌍읜 부분을 MatrixVariable로 받아올 수있음.

Event Handler

 

 

  • Map으로 받아오는 방법

    • GET http://localhost:8080/events/15;q=11/pets/42;/q=22
    • MultiValueMap 을 활용해서 받아올 수 있으며, pathVar를 선언하지않으면 모든 MatrixVariable에 해당하는값을 한번에 받아온다.
    • {"q": [11, 22]}
    • @MatrixVariable(pathVar="petId") 와 같이 pathVar를 지정해주면, 해당부분의 MatrixVariable만 가져올 수 있다.
    • {"q": 22}

MultiValueMap

'Spring' 카테고리의 다른 글

Spring - MVC FormData  (0) 2019.07.27
Spring - MVC @RequestParam  (0) 2019.07.27
Spring - MVC MethodArgument_ReturnType  (0) 2019.07.24
Spring - MVC HTTP HEAD_OPTIONS 요청 처리  (0) 2019.07.23
Spring - MVC Header_Parameter_Mapping  (0) 2019.07.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함