Spring MVC ResponseEntity Hystrix 回退
Posted
技术标签:
【中文标题】Spring MVC ResponseEntity Hystrix 回退【英文标题】:Spring MVC ResponseEntity Hystrix fallback 【发布时间】:2018-04-05 09:47:31 【问题描述】:我有一个返回 ResponseEntity<List<Attachment>>
的服务方法,它的 hystrix fallback
方法也必须返回 ResponseEntity<List<Attachment>>
。 问题是我需要返回一个字符串消息来向用户澄清错误,而不是返回一个新的Arraylist<>()
- 这是我的方法
@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);
这就是它的后备方式
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);
【问题讨论】:
【参考方案1】:我通过不带 args 的 ResponseEntity
而不是 ResponseEntity<List<AttachmentDto>>
使其工作
谢谢大家
【讨论】:
【参考方案2】:只需使用:
ResponseEntity<Object>
这适用于任何类型。因为 Object 是 java.lang
中定义的最顶层的类代替:
ResponseEntity<List<AttachmentDto>>
【讨论】:
以上是关于Spring MVC ResponseEntity Hystrix 回退的主要内容,如果未能解决你的问题,请参考以下文章
使用 Feign 和 Spring MVC 时对 ResponseEntity 进行编码和解码?
在 Spring mvc/rest 开发中创建控制器时对以下内容感到困惑:ModelAndView、Model、@ResponseBody、@ResponseEntity