gpt4 book ai didi

spring-boot - Spring Boot @ResponseStatus 不返回 HTTP 消息

转载 作者:行者123 更新时间:2023-12-03 07:38:31 26 4
gpt4 key购买 nike

我在抛出异常时返回 HTTP 消息时遇到问题。我正在使用 @ResponseStatus 注释来处理 HTTP 状态代码,它显示正常但消息被忽略。
自定义异常:

@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR, reason = "An error ocurred while trying to 
retrieve the instruments.")
public class InstrumentsNotFoundException extends RuntimeException {

private static final Logger logger = LoggerFactory.getLogger(InstrumentsNotFoundException.class);

public InstrumentsNotFoundException(String errorMessage) {
super(errorMessage);
logger.error(errorMessage);
}
Controller :
@GetMapping({ "/portfolio/" })
public List<Instrument> getAll() {
try {
List<Instrument> instruments= portfolioYieldProcessor.getPortfolio();
return instruments;
} catch(RuntimeException e) {
throw new ResponseStatusException(
HttpStatus.INTERNAL_SERVER_ERROR, "Sorry, an error occurred, please try again later.", e);
}
}
HttpMessage
Http Response

最佳答案

从 SpringBoot 2.3 开始,这是默认行为,如您所见 here .
假设您使用的是 spring 2.3+

server.error.include-message=always
在您的 application.properties 中会为您解决问题。

关于spring-boot - Spring Boot @ResponseStatus 不返回 HTTP 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62598135/

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