Spring MVC ResponseEntity Hystrix откат

У меня есть метод обслуживания, который возвращает ResponseEntity<List<Attachment>> и его Хистрикс fallback Метод также должен возвращать ResponseEntity<List<Attachment>>,
Проблема в том, что мне нужно возвращать сообщение String, которое разъясняет ошибку пользователю, а не возвращать новое 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);
}

2 ответа

Решение

Я сделал это, работая ResponseEntity без аргументов вместо ResponseEntity<List<AttachmentDto>>

Спасибо, парни

Просто используйте:

ResponseEntity<Object>

это будет работать для любого типа. Потому что Object - самый верхний класс, определенный в java.lang.

вместо:

ResponseEntity<List<AttachmentDto>>
Другие вопросы по тегам