弹簧休息端点不返回身体

时间:2019-04-22 08:34:53

标签: java spring-boot

我对我的Spring应用程序中的其余端点之一的行为感到非常困惑

我有一个简单的控制器:

@RestController
public class MyController {

    @GetMapping("/test")
    public String test(Principal principal) {
        System.out.println("HELOOOO");
        return "hello";
    }
}

我正在向该端点发送请求。该请求被接受并返回200 OK,但是正文丢失了。我看到了打印行,并且在浏览器控制台中看到请求已成功处理,但是没有正文。

我的应用程序中还有其他端点(即使在同一个控制器类中也可以正常工作),所以我很困惑可能是这种特定原因的原因。

编辑:这是我在Web控制台中看到的:

HTTP/1.1 200
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Access-Control-Allow-Origin: *
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Mon, 22 Apr 2019 08:37:46 GMT

Failed to load response data

@ResponseBody注释不起作用。

EDIT2:谢谢大家的建议-特别是关于使用cUrl尝试端点的建议。例外不是在Spring中,而是在我的客户端中处理错误的响应中。

2 个答案:

答案 0 :(得分:0)

您可以按以下方式返回ResponseEntity:

@GetMapping("/test")
public ResponseEntity test(Principal principal) {
        System.out.println("HELOOOO");
        return new ResponseEntity<>("hello", HttpStatus.OK);
    }

这对我来说很好。

答案 1 :(得分:0)

响应状态为"Failed to load response data",但响应最终带有错误消息"\"hello\""

这可能仅是由于未能序列化返回给有效JSON的数据。

我不是Spring专家,但也许如果您返回UserDetailsServiceAutoConfiguration: 2019-04-22 11:29:24.571 INFO 12343 --- [ main] .s.s.UserDetailsServiceAutoConfiguration : Using generated security password: ff00a80a-d810-43d6-9c89-e861eb1bed96 ,就可以了。

enter image description here