ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 핸들러와 Media Type
    Spring/Spring MVC 2020. 6. 4. 01:07

     

     

    어떤 핸들러가 있고 핸들러에서 Json을 보내는 요청만 처리를 하고 싶다면?

     

     

     

    • Content-type 헤더를 통해 해당 요청을 알려주면
    • 서버는 consumes를 통해 해당 요청만 처리할 수 있도록 설정할 수 있다.

     

    • 따라서 다음과 같은 Test는 Content-type 헤더를 주지 않았으므로 415 에러가 나게 된다.
    • 테스트가 아닌 브라우저에서 보냈다면 html/text에 값이 들어있을 것이고
    • Json이 아니기에 마찬가지로 에러가 나게 된다.

     

     

    • 다음과 같이 consumes로 설정했던 타입을 주게 되면 성공적인 200 응답이 나오는 것을 볼 수 있다.

     

     

    • 또는 Accept 헤더를 사용해서 어떠한 응답을 원하는지 적어줄 수 있다.
    • contentType :  해당 요청을 보내겠다.
    • Accept : 해당 응답을 받겠다.

     

     

    • 그리고 서버의 핸들러 쪽에는 produces를 두어 해당 타입을 원하는 요청만 처리할 수 있도록 해준다.
    • consumes : 해당 요청으로 온 타입만 받을 수 있다.
    • produces : 응답은 항상 해당 타입으로 받게 된다.

     

    • 해당 consumes와 produces들은 클래스 타입에도 붙일 수 있다.
    • 하지만 메소드에도 있다면 조합하는 게 아닌 오버 라이딩되어 메서드에 있는 것만 쓰게 된다.

     

    'Spring > Spring MVC' 카테고리의 다른 글

    HEAD와 OPTIONS 메소드  (0) 2020.06.07
    핸들러, 헤더, 메개변수  (0) 2020.06.06
    핸들러 URI 패턴  (0) 2020.06.02
    Http method와 요청 매핑  (0) 2020.06.02
    WebMvcConfigurer 살펴보기  (0) 2020.05.31
Designed by Tistory.