首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring Hystrix回退

Spring Hystrix回退
EN

Stack Overflow用户
提问于 2017-10-24 14:28:13
回答 2查看 646关注 0票数 0

我有一个返回ResponseEntity<List<Attachment>>的服务方法,它的hystrix fallback方法也必须返回一个ResponseEntity<List<Attachment>>

问题是,我需要返回一个字符串消息来澄清错误给用户,而不是返回一个新的Arraylist<>()

  • 这是我的方法
代码语言:javascript
运行
复制
@Override
@HystrixCommand(fallbackMethod = "getAttachmentsFallback")
public ResponseEntity<List<AttachmentDto>> getAttachments(IAttachable entity) {
    List<AttachmentDto> attachments = client.getAttachments(entity.getAttachableId(), entity.getClassName(),
            entity.getAppName());
    return new ResponseEntity<List<AttachmentDto>>(attachments, HttpStatus.OK);
}

这是它的退路

代码语言:javascript
运行
复制
public ResponseEntity<List<AttachmentDto>> getAttachmentsFallback(IAttachable entity, Throwable e) {
    //I need to return a String instead of the new Arraylist<AttachmentDto>() 
    return new ResponseEntity<List<AttachmentDto>>(new ArrayList<AttachmentDto>(), HttpStatus.INTERNAL_SERVER_ERROR);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-27 08:20:06

我是通过不使用args而不是使用ResponseEntity来工作的

谢谢各位

票数 0
EN

Stack Overflow用户

发布于 2017-10-26 17:18:21

只需使用:

代码语言:javascript
运行
复制
ResponseEntity<Object>

这适用于任何类型。因为Object是在java.lang中定义的最高级类。

而不是:

代码语言:javascript
运行
复制
ResponseEntity<List<AttachmentDto>>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46913185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档