Java Spring云流验证
如何使用基于标准Spring注释的验证在消息侦听器中使用框架执行验证 尝试了不同的情况,对传入对象使用Java Spring云流验证,java,spring,validation,spring-boot,spring-cloud-stream,Java,Spring,Validation,Spring Boot,Spring Cloud Stream,如何使用基于标准Spring注释的验证在消息侦听器中使用框架执行验证 尝试了不同的情况,对传入对象使用@Valid@Payload,对实体使用@Validated尝试了方法验证后处理器,但没有帮助 @StreamListener(MediaItemStream.ITEM_LIKED_CHANNEL) public void handleLikeMessage(@Valid @Payload LikeInputDto like) {... 及 目前最好的方法只是使用定制服务进行验证,但它看起来并
@Valid@Payload
,对实体使用@Validated
尝试了方法验证后处理器,但没有帮助
@StreamListener(MediaItemStream.ITEM_LIKED_CHANNEL)
public void handleLikeMessage(@Valid @Payload LikeInputDto like) {...
及
目前最好的方法只是使用定制服务进行验证,但它看起来并不是我们想要的
@Log4j2
@Service
@AllArgsConstructor
public class LikeStreamHandler {
private MediaEventMessagingService mediaEventMessagingService;
private ValidationService validationService;
@StreamListener(MediaItemStream.ITEM_LIKED_CHANNEL)
public void handleLikeMessage(LikeInputDto like) {
validationService.validate(like);
log.debug("Handling LIKE message: {}", like);
mediaEventMessagingService.processLikeEvent(like);
}
}
这是Spring Cloud Stream v2.1.0的一项新功能:
@Log4j2
@Service
@AllArgsConstructor
public class LikeStreamHandler {
private MediaEventMessagingService mediaEventMessagingService;
private ValidationService validationService;
@StreamListener(MediaItemStream.ITEM_LIKED_CHANNEL)
public void handleLikeMessage(LikeInputDto like) {
validationService.validate(like);
log.debug("Handling LIKE message: {}", like);
mediaEventMessagingService.processLikeEvent(like);
}
}