@RequestMapping 옵션consumes,produces

DragonTiger·2022년 1월 20일
0
/**
 * consumes = "application/json"
 * -> 요청의 Content-Type 헤더가 application/json일 때만 이 핸들러가 호출됨.
 */
@PostMapping(value = "/mapping-consume", consumes = MediaType.APPLICATION_JSON_VALUE)
public String mappingConsumes() {
    log.info("mappingConsumes");
    return "ok";
}

/**
 * produces = "application/json"
 * -> 요청의 Accept 헤더에 application/json이 포함되어 있을 때만 이 핸들러가 호출됨.
 * -> 그렇지 않으면 406 Not Acceptable 발생.
 */
@PostMapping(value = "/mapping-produce", produces = MediaType.APPLICATION_JSON_VALUE)
public String mappingProduces() {
    log.info("mappingProduces");
    return "ok";
}
속성의미
consumes요청의 Content-Type을 기준으로 컨트롤러 메서드를 매핑할지 결정
produces요청의 Accept를 기준으로 컨트롤러 메서드를 매핑할지 결정 (안 맞으면 406 오류 발생)

HTTP

헤더역할대상예시
Content-Type요청 바디의 타입 명시서버가 이 타입으로 파싱Content-Type: application/json
Accept응답 바디의 선호 타입서버가 이 타입으로 응답하도록 요청Accept: application/json
profile
Risk Taking

0개의 댓글