Class ConsumesRequestCondition
java.lang.Object
org.springframework.web.servlet.mvc.condition.AbstractRequestCondition<ConsumesRequestCondition>
org.springframework.web.servlet.mvc.condition.ConsumesRequestCondition
- All Implemented Interfaces:
- RequestCondition<ConsumesRequestCondition>
public final class ConsumesRequestCondition
extends AbstractRequestCondition<ConsumesRequestCondition>
A logical disjunction (' || ') request condition to match a request's
 'Content-Type' header to a list of media type expressions. Two kinds of
 media type expressions are supported, which are described in
 
RequestMapping.consumes() and RequestMapping.headers()
 where the header name is 'Content-Type'. Regardless of which syntax is
 used, the semantics are the same.- Since:
- 3.1
- Author:
- Arjen Poutsma, Rossen Stoyanchev
- 
Constructor SummaryConstructorsConstructorDescriptionConsumesRequestCondition(String... consumes) Creates a new instance from 0 or more "consumes" expressions.ConsumesRequestCondition(String @Nullable [] consumes, String @Nullable [] headers) Creates a new instance with "consumes" and "header" expressions.
- 
Method SummaryModifier and TypeMethodDescriptioncombine(ConsumesRequestCondition other) Returns the "other" instance if it has any expressions; returns "this" instance otherwise.intcompareTo(ConsumesRequestCondition other, HttpServletRequest request) Returns: 0 if the two conditions have the same number of expressions Less than 0 if "this" has more or more specific media type expressions Greater than 0 if "other" has more or more specific media type expressionsReturns the media types for this condition excluding negated expressions.protected Collection<org.springframework.web.servlet.mvc.condition.ConsumesRequestCondition.ConsumeMediaTypeExpression>Return the discrete items a request condition is composed of.Return the contained MediaType expressions.getMatchingCondition(HttpServletRequest request) Checks if any of the contained media type expressions match the given request 'Content-Type' header and returns an instance that is guaranteed to contain matching expressions only.protected StringThe notation to use when printing discrete items of content.booleanReturn the setting forsetBodyRequired(boolean).booleanisEmpty()Whether the condition has any media type expressions.voidsetBodyRequired(boolean bodyRequired) Whether this condition should expect requests to have a body.Methods inherited from class org.springframework.web.servlet.mvc.condition.AbstractRequestConditionequals, hashCode, toString
- 
Constructor Details- 
ConsumesRequestConditionCreates a new instance from 0 or more "consumes" expressions.- Parameters:
- consumes- expressions with the syntax described in- RequestMapping.consumes(); if 0 expressions are provided, the condition will match to every request
 
- 
ConsumesRequestConditionCreates a new instance with "consumes" and "header" expressions. "Header" expressions where the header name is not 'Content-Type' or have no header value defined are ignored. If 0 expressions are provided in total, the condition will match to every request- Parameters:
- consumes- as described in- RequestMapping.consumes()
- headers- as described in- RequestMapping.headers()
 
 
- 
- 
Method Details- 
getExpressionsReturn the contained MediaType expressions.
- 
getConsumableMediaTypesReturns the media types for this condition excluding negated expressions.
- 
isEmptypublic boolean isEmpty()Whether the condition has any media type expressions.- Overrides:
- isEmptyin class- AbstractRequestCondition<ConsumesRequestCondition>
- Returns:
- trueif empty;- falseotherwise
 
- 
getContentprotected Collection<org.springframework.web.servlet.mvc.condition.ConsumesRequestCondition.ConsumeMediaTypeExpression> getContent()Description copied from class:AbstractRequestConditionReturn the discrete items a request condition is composed of.For example URL patterns, HTTP request methods, param expressions, etc. - Specified by:
- getContentin class- AbstractRequestCondition<ConsumesRequestCondition>
- Returns:
- a collection of objects (never null)
 
- 
getToStringInfixDescription copied from class:AbstractRequestConditionThe notation to use when printing discrete items of content.For example " || "for URL patterns or" && "for param expressions.- Specified by:
- getToStringInfixin class- AbstractRequestCondition<ConsumesRequestCondition>
 
- 
setBodyRequiredpublic void setBodyRequired(boolean bodyRequired) Whether this condition should expect requests to have a body.By default this is set to truein which case it is assumed a request body is required and this condition matches to the "Content-Type" header or falls back on "Content-Type: application/octet-stream".If set to false, and the request does not have a body, then this condition matches automatically, i.e. without checking expressions.- Parameters:
- bodyRequired- whether requests are expected to have a body
- Since:
- 5.2
 
- 
isBodyRequiredpublic boolean isBodyRequired()Return the setting forsetBodyRequired(boolean).- Since:
- 5.2
 
- 
combineReturns the "other" instance if it has any expressions; returns "this" instance otherwise. Practically that means a method-level "consumes" overrides a type-level "consumes" condition.- Parameters:
- other- the condition to combine with.
- Returns:
- a request condition instance that is the result of combining the two condition instances.
 
- 
getMatchingConditionChecks if any of the contained media type expressions match the given request 'Content-Type' header and returns an instance that is guaranteed to contain matching expressions only. The match is performed viaMediaType.includes(MediaType).- Parameters:
- request- the current request
- Returns:
- the same instance if the condition contains no expressions;
 or a new condition with matching expressions only;
 or nullif no expressions match
 
- 
compareToReturns:- 0 if the two conditions have the same number of expressions
- Less than 0 if "this" has more or more specific media type expressions
- Greater than 0 if "other" has more or more specific media type expressions
 It is assumed that both instances have been obtained via getMatchingCondition(HttpServletRequest)and each instance contains the matching consumable media type expression only or is otherwise empty.
 
-