@Request Mappingオプションconsumers,products


consumes


consumerはリクエストにContest-Typeが含まれている場合、consumerで指定したMediaTypeで指定したタイプで応答します.
/**MediaType.APPLICATION_JSON_VALUE = "application/json"
 * Content-Type 헤더 기반 추가 매핑 Media Type 
 * consumes="application/json"
 * consumes="!application/json"
 * consumes="application/*"
 * consumes="*\/*"
 */
@PostMapping(value = "/mapping-consume", consumes = MediaType.APPLICATION_JSON_VALUE)
public String mappingConsumes() {
 log.info("mappingConsumes");
 return "ok";
}

consumersに宣言されたアプリケーション/jsonタイプが要求されたコンテンツタイプにアプリケーション/jsonタイプを含む場合、応答のコンテンツタイプはアプリケーション/jsonを返します.

produces


要求のAcceptがProductsで指定されたMediaTypeに含まれている場合、productsは指定されたtypeで応答します.
/**MediaType.APPLICATION_JSON_VALUE = "application/json"
 * Accept 헤더 기반 Media Type
 * produces = "application/json"
 * produces = "!application/json"
 * produces = "application/*"
 * produces = "*\/*"
 */
@PostMapping(value = "/mapping-produce", produces = MediaType.APPLICATION_JSON_VALUE)
public String mappingProduces() {
 log.info("mappingProduces");
 return "ok";
}

Productsで宣言されたアプリケーション/jsonタイプがリクエストの受信者に含まれている場合、応答のcontent-typeはアプリケーション/jsonを返します.
リファレンス
https://qjadud22.tistory.com/57