类 PayloadArgumentResolver
- java.lang.Object
- org.springframework.messaging.handler.annotation.support.PayloadArgumentResolver
- 所有已实现的接口:
HandlerMethodArgumentResolver
public class PayloadArgumentResolver extends Object implements HandlerMethodArgumentResolver
A resolver to extract and convert the payload of a message using aMessageConverter
. It also validates the payload using aValidator
if the argument is annotated with a Validation annotation.This
HandlerMethodArgumentResolver
should be ordered last as it supports all types and does not require thePayload
annotation.- 从以下版本开始:
- 4.0
- 作者:
- Rossen Stoyanchev, Brian Clozel, Stephane Nicoll
构造器概要
构造器 构造器 说明 PayloadArgumentResolver(MessageConverter messageConverter)
Create a newPayloadArgumentResolver
with the givenMessageConverter
.PayloadArgumentResolver(MessageConverter messageConverter, Validator validator)
PayloadArgumentResolver(MessageConverter messageConverter, Validator validator, boolean useDefaultResolution)
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected boolean
isEmptyPayload(Object payload)
Specify if the givenpayload
is empty.Object
resolveArgument(MethodParameter parameter, Message<?> message)
Resolves a method parameter into an argument value from a given message.boolean
supportsParameter(MethodParameter parameter)
Whether the given method parameter is supported by this resolver.protected void
validate(Message<?> message, MethodParameter parameter, Object target)
Validate the payload if applicable.
构造器详细资料
PayloadArgumentResolver
public PayloadArgumentResolver(MessageConverter messageConverter)
Create a newPayloadArgumentResolver
with the givenMessageConverter
.- 参数:
messageConverter
- the MessageConverter to use (required)- 从以下版本开始:
- 4.0.9
PayloadArgumentResolver
public PayloadArgumentResolver(MessageConverter messageConverter, Validator validator)
- 参数:
messageConverter
- the MessageConverter to use (required)validator
- the Validator to use (optional)
PayloadArgumentResolver
public PayloadArgumentResolver(MessageConverter messageConverter, Validator validator, boolean useDefaultResolution)
- 参数:
messageConverter
- the MessageConverter to use (required)validator
- the Validator to use (optional)useDefaultResolution
- if "true" (the default) this resolver supports all parameters; if "false" then only arguments with the@Payload
annotation are supported.
方法详细资料
supportsParameter
public boolean supportsParameter(MethodParameter parameter)
从接口复制的说明:HandlerMethodArgumentResolver
Whether the given method parameter is supported by this resolver.- 指定者:
supportsParameter
在接口中HandlerMethodArgumentResolver
- 参数:
parameter
- the method parameter to check- 返回:
true
if this resolver supports the supplied parameter;false
otherwise
resolveArgument
public Object resolveArgument(MethodParameter parameter, Message<?> message) throws Exception
从接口复制的说明:HandlerMethodArgumentResolver
Resolves a method parameter into an argument value from a given message.- 指定者:
resolveArgument
在接口中HandlerMethodArgumentResolver
- 参数:
parameter
- the method parameter to resolve. This parameter must have previously been passed toHandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter)
which must have returnedtrue
.message
- the currently processed message- 返回:
- the resolved argument value, or
null
- 抛出:
Exception
- in case of errors with the preparation of argument values
isEmptyPayload
protected boolean isEmptyPayload(Object payload)
Specify if the givenpayload
is empty.- 参数:
payload
- the payload to check (can benull
)
validate
protected void validate(Message<?> message, MethodParameter parameter, Object target)
Validate the payload if applicable.The default implementation checks for
@javax.validation.Valid
, Spring'sValidated
, and custom annotations whose name starts with "Valid".- 参数:
message
- the currently processed messageparameter
- the method parametertarget
- the target payload object- 抛出:
MethodArgumentNotValidException
- in case of binding errors