gpt4 book ai didi

java - 为什么我无法发送正确的服务器状态作为响应,而是在到达端点时收到 "no response"?

转载 作者:行者123 更新时间:2023-11-30 06:17:20 26 4
gpt4 key购买 nike

我正在测试一个应该返回 JSON 的端点。

效果很好。但是当出现异常(例如禁止)时,它应该返回正确的错误代码和消息。

现在我这样做:

@ResponseBody
@GetMapping(produces = APPLICATION_JSON_UTF8_VALUE)
public ResponseEntity getInfo() {
try{
//..do something
}catch(Exception e){

return new ResponseEntity<>("Error calculating the required information", null, HttpStatus.INTERNAL_SERVER_ERROR);
}
}

相反,当我 curl url 或大摇大摆时,我得到这个:

Request URL
http://localhost:8081/info
Request Headers
{
"Accept": "application/json;charset=UTF-8"
}
Response Body
no content
Response Code
0
Response Headers
{
"error": "no response from server"
}

是的,我正在到达端点(我调试了它)。

知道为什么会返回此响应吗?谢谢。

最佳答案

您需要更改方法标志

public ResponseEntity<Void> getInfo() {

并更改返回类型

return new ResponseEntity<Void>(HttpStatus.INTERNAL_SERVER_ERROR);

如果您想返回特定消息,您需要创建自定义异常类。

您可以在 github 上找到以下项目链接的示例:https://github.com/in28minutes/spring-microservices/tree/master/02.restful-web-services/src/main/java/com/in28minutes/rest/webservices/restfulwebservices

关于java - 为什么我无法发送正确的服务器状态作为响应,而是在到达端点时收到 "no response"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48943530/

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