类 ProducesRequestCondition
- java.lang.Object
- org.springframework.web.reactive.result.condition.AbstractRequestCondition<ProducesRequestCondition>
- org.springframework.web.reactive.result.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.- 从以下版本开始:
- 5.0
- 作者:
- 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, RequestedContentTypeResolver resolver)Same asProducesRequestCondition(String[], String[])but also accepting aContentNegotiationManager.
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 static voidclearMediaTypesAttribute(ServerWebExchange exchange)Use this to clearMEDIA_TYPES_ATTRIBUTEthat contains the parsed, requested media types.ProducesRequestConditioncombine(ProducesRequestCondition other)Returns the "other" instance if it has any expressions; returns "this" instance otherwise.intcompareTo(ProducesRequestCondition other, ServerWebExchange exchange)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.reactive.result.condition.ProducesRequestCondition.ProduceMediaTypeExpression>getContent()Return the discrete items a request condition is composed of.Set<MediaTypeExpression>getExpressions()Return the contained "produces" expressions.ProducesRequestConditiongetMatchingCondition(ServerWebExchange exchange)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 StringgetToStringInfix()The notation to use when printing discrete items of content.booleanisEmpty()Whether the condition has any media type expressions.从类继承的方法 org.springframework.web.reactive.result.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, RequestedContentTypeResolver resolver)
Same asProducesRequestCondition(String[], String[])but also accepting aContentNegotiationManager.- 参数:
produces- expressions with syntax defined byRequestMapping.produces()headers- expressions with syntax defined byRequestMapping.headers()resolver- used to determine requested content type
方法详细资料
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>- 返回:
trueif empty;falseotherwise
getContent
protected List<org.springframework.web.reactive.result.condition.ProducesRequestCondition.ProduceMediaTypeExpression> getContent()
从类复制的说明:AbstractRequestConditionReturn 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()
从类复制的说明:AbstractRequestConditionThe 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
@Nullable public ProducesRequestCondition getMatchingCondition(ServerWebExchange exchange)
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).- 参数:
exchange- the current exchange- 返回:
- the same instance if there are no expressions; or a new condition with matching expressions; or
nullif no expressions match.
compareTo
public int compareTo(ProducesRequestCondition other, ServerWebExchange exchange)
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(ServerWebExchange)and each instance contains the matching producible media type expression only or is otherwise empty.- Sort 'Accept' header media types by quality value via
clearMediaTypesAttribute
public static void clearMediaTypesAttribute(ServerWebExchange exchange)
Use this to clearMEDIA_TYPES_ATTRIBUTEthat contains the parsed, requested media types.- 参数:
exchange- the current exchange- 从以下版本开始:
- 5.2