我对我的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中,而是在我的客户端中处理错误的响应中。
答案 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
,就可以了。