类 ProducesRequestCondition
- java.lang.Object
- org.springframework.web.servlet.mvc.condition.AbstractRequestCondition<ProducesRequestCondition>
- org.springframework.web.servlet.mvc.condition.ProducesRequestCondition
- 所有已实现的接口:
RequestCondition<ProducesRequestCondition>
public final class ProducesRequestCondition extends AbstractRequestCondition<ProducesRequestCondition>
A logical disjunction (' || ') request condition to match a request's 'Accept' header to a list of media type expressions. Two kinds of media type expressions are supported, which are described inRequestMapping.produces()
andRequestMapping.headers()
where the header name is 'Accept'. Regardless of which syntax is used, the semantics are the same.- 从以下版本开始:
- 3.1
- 作者:
- Arjen Poutsma, Rossen Stoyanchev
构造器概要
构造器 构造器 说明 ProducesRequestCondition(String... produces)
Creates a new instance from "produces" expressions.ProducesRequestCondition(String[] produces, String[] headers)
Creates a new instance with "produces" and "header" expressions.ProducesRequestCondition(String[] produces, String[] headers, ContentNegotiationManager manager)
Same asProducesRequestCondition(String[], String[])
but also accepting aContentNegotiationManager
.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 ProducesRequestCondition
combine(ProducesRequestCondition other)
Returns the "other" instance if it has any expressions; returns "this" instance otherwise.int
compareTo(ProducesRequestCondition other, HttpServletRequest request)
Compares this and another "produces" condition as follows: Sort 'Accept' header media types by quality value viaMediaType.sortByQualityValue(List)
and iterate the list.protected List<org.springframework.web.servlet.mvc.condition.ProducesRequestCondition.ProduceMediaTypeExpression>
getContent()
Return the discrete items a request condition is composed of.Set<MediaTypeExpression>
getExpressions()
Return the contained "produces" expressions.ProducesRequestCondition
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.Set<MediaType>
getProducibleMediaTypes()
Return the contained producible media types excluding negated expressions.protected String
getToStringInfix()
The notation to use when printing discrete items of content.boolean
isEmpty()
Whether the condition has any media type expressions.从类继承的方法 org.springframework.web.servlet.mvc.condition.AbstractRequestCondition
equals, hashCode, toString
构造器详细资料
ProducesRequestCondition
public ProducesRequestCondition(String... produces)
Creates a new instance from "produces" expressions. If 0 expressions are provided in total, this condition will match to any request.- 参数:
produces
- expressions with syntax defined byRequestMapping.produces()
ProducesRequestCondition
public ProducesRequestCondition(String[] produces, String[] headers)
Creates a new instance with "produces" and "header" expressions. "Header" expressions where the header name is not 'Accept' or have no header value defined are ignored. If 0 expressions are provided in total, this condition will match to any request.- 参数:
produces
- expressions with syntax defined byRequestMapping.produces()
headers
- expressions with syntax defined byRequestMapping.headers()
ProducesRequestCondition
public ProducesRequestCondition(String[] produces, String[] headers, ContentNegotiationManager manager)
Same asProducesRequestCondition(String[], String[])
but also accepting aContentNegotiationManager
.- 参数:
produces
- expressions with syntax defined byRequestMapping.produces()
headers
- expressions with syntax defined byRequestMapping.headers()
manager
- used to determine requested media types
方法详细资料
getExpressions
public Set<MediaTypeExpression> getExpressions()
Return the contained "produces" expressions.
getProducibleMediaTypes
public Set<MediaType> getProducibleMediaTypes()
Return the contained producible media types excluding negated expressions.
isEmpty
public boolean isEmpty()
Whether the condition has any media type expressions.- 覆盖:
isEmpty
在类中AbstractRequestCondition<ProducesRequestCondition>
- 返回:
true
if empty;false
otherwise
getContent
protected List<org.springframework.web.servlet.mvc.condition.ProducesRequestCondition.ProduceMediaTypeExpression> getContent()
从类复制的说明:AbstractRequestCondition
Return the discrete items a request condition is composed of.For example URL patterns, HTTP request methods, param expressions, etc.
- 指定者:
getContent
在类中AbstractRequestCondition<ProducesRequestCondition>
- 返回:
- a collection of objects (never
null
)
getToStringInfix
protected String getToStringInfix()
从类复制的说明:AbstractRequestCondition
The notation to use when printing discrete items of content.For example
" || "
for URL patterns or" && "
for param expressions.
combine
public ProducesRequestCondition combine(ProducesRequestCondition other)
Returns the "other" instance if it has any expressions; returns "this" instance otherwise. Practically that means a method-level "produces" overrides a type-level "produces" condition.- 参数:
other
- the condition to combine with.- 返回:
- a request condition instance that is the result of combining the two condition instances.
getMatchingCondition
public ProducesRequestCondition 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. The match is performed viaMediaType.isCompatibleWith(MediaType)
.- 参数:
request
- the current request- 返回:
- the same instance if there are no expressions; or a new condition with matching expressions; or
null
if no expressions match.
compareTo
public int compareTo(ProducesRequestCondition other, HttpServletRequest request)
Compares this and another "produces" condition as follows:- Sort 'Accept' header media types by quality value via
MediaType.sortByQualityValue(List)
and iterate the list. - Get the first index of matching media types in each "produces" condition first matching with
MimeType.equals(Object)
and then withMediaType.includes(MediaType)
. - If a lower index is found, the condition at that index wins.
- If both indexes are equal, the media types at the index are compared further with
MediaType.SPECIFICITY_COMPARATOR
.
It is assumed that both instances have been obtained via
getMatchingCondition(HttpServletRequest)
and each instance contains the matching producible media type expression only or is otherwise empty.- Sort 'Accept' header media types by quality value via