@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
/ *
* Copyright 2002 - 2018 the original author or authors .
* Copyright 2002 - 2019 the original author or authors .
*
* Licensed under the Apache License , Version 2 . 0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
@ -167,41 +167,48 @@ public @interface RequestMapping {
@@ -167,41 +167,48 @@ public @interface RequestMapping {
String [ ] headers ( ) default { } ;
/ * *
* The consumable media types of the mapped request , narrowing the primary mapping .
* < p > The format is a single media type or a sequence of media types ,
* with a request only mapped if the { @code Content - Type } matches one of these media types .
* Examples :
* Narrows the primary mapping by media types that can be consumed by the
* mapped handler . Consists of one or more media types one of which must
* match to the request { @code Content - Type } header . Examples :
* < pre class = "code" >
* consumes = "text/plain"
* consumes = { "text/plain" , "application/*" }
* consumes = MediaType . TEXT_PLAIN_VALUE
* < / pre >
* Expressions can be negated by using the "!" operator , as in "!text/plain" , which matches
* all requests with a { @code Content - Type } other than "text/plain" .
* Expressions can be negated by using the "!" operator , as in
* "!text/plain" , which matches all requests with a { @code Content - Type }
* other than "text/plain" .
* < p > < b > Supported at the type level as well as at the method level ! < / b >
* When used at the type level , all method - level mappings override
* this consumes restric tion.
* If specified at both levels , the method level consumes condition overrides
* the type level condi tion.
* @see org . springframework . http . MediaType
* @see javax . servlet . http . HttpServletRequest # getContentType ( )
* /
String [ ] consumes ( ) default { } ;
/ * *
* The producible media types of the mapped request , narrowing the primary mapping .
* < p > The format is a single media type or a sequence of media types ,
* with a request only mapped if the { @code Accept } matches one of these media types .
* Examples :
* Narrows the primary mapping by media types that can be produced by the
* mapped handler . Consists of one or more media types one of which must
* be chosen via content negotiation against the "acceptable" media types
* of the request . Typically those are extracted from the { @code "Accept" }
* header but may be derived from query parameters , or other . Examples :
* < pre class = "code" >
* produces = "text/plain"
* produces = { "text/plain" , "application/*" }
* produces = MediaType . APPLICATION_JSON_UTF8_VALUE
* produces = MediaType . TEXT_PLAIN_VALUE
* produces = "text/plain;charset=UTF-8"
* < / pre >
* < p > It affects the actual content type written , for example to produce a JSON response
* with UTF - 8 encoding , { @link org . springframework . http . MediaType # APPLICATION_JSON_UTF8_VALUE } should be used .
* < p > Expressions can be negated by using the "!" operator , as in "!text/plain" , which matches
* all requests with a { @code Accept } other than "text/plain" .
* < p > If a declared media type contains a parameter ( e . g . "charset=UTF-8" ,
* "type=feed" , type = "entry" ) and if a compatible media type from the request
* has that parameter too , then the parameter values must match . Otherwise
* if the media type from the request does not contain the parameter , it is
* assumed the client accepts any value .
* < p > Expressions can be negated by using the "!" operator , as in "!text/plain" ,
* which matches all requests with a { @code Accept } other than "text/plain" .
* < p > < b > Supported at the type level as well as at the method level ! < / b >
* When used at the type level , all method - level mappings override
* this produces restriction .
* If specified at both levels , the method level produces condition overrides
* the type level condition .
* @see org . springframework . http . MediaType
* @see org . springframework . http . MediaType
* /
String [ ] produces ( ) default { } ;