gpt4 book ai didi

java - Spring Cloud Stream 验证

转载 作者:搜寻专家 更新时间:2023-10-31 20:17:15 25 4
gpt4 key购买 nike

如何使用 Spring Cloud Stream 执行验证使用基于标准 Spring 注释的验证的消息监听器中的框架?

尝试了不同的情况,对传入对象使用 @Valid @Payload,尝试对实体使用 @Validated 方法验证后处理器,但没有帮助。

@StreamListener(MediaItemStream.ITEM_LIKED_CHANNEL)
public void handleLikeMessage(@Valid @Payload LikeInputDto like) {...

@Bean
public MethodValidationPostProcessor methodValidationPostProcessor() {
return new MethodValidationPostProcessor();
}

目前最好的方法就是使用自定义服务进行验证,但它看起来并不理想..

@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 的新特性:Issue on GitHub: "Add (javax.)Validation Support for Stream Listener"

关于java - Spring Cloud Stream 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47643216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com