我想在我的控制器响应中返回相同的请求头,但是如果我这样做并且在尝试用postman进行测试时出现无限等待
我有这个控制器
@PostMapping("/yy")
public ResponseEntity<ClientOutput> myTest(@RequestHeader HttpHeaders headers,
@RequestBody ClientInput clientInput) {
return new ResponseEntity<>(new ClientOutput(), headers, HttpStatus.OK);
}
这会导致无限等待循环,当我尝试用postman测试它时,如何返回与我在响应中的请求相同的头文件,
当我尝试使用这个控制器时,它也会产生一个不完整的响应
@PostMapping("/uu")
public ResponseEntity<ClientOutput> myTestTwo(@RequestHeader HttpHeaders headers,
@RequestBody ClientInput clientInput) {
return new ResponseEntity<>(ClientOutput.builder()
.error(Error.builder()
.code("401")
.title("Error")
.message("A error happened")
.build())
.build(), headers, HttpStatus.UNAUTHORIZED);
}
它没有返回我的错误dto,而是返回这个不完整的json
{
"name": null,
"error": {
"code": "401",
"title": "Error",
我只想在响应中返回相同的请求头
1条答案
按热度按时间wbgh16ku1#
Postman 在默认情况下发送头内容长度,并且它是为请求计算的。因为您的代码只是获取请求的content-length头并返回它,所以它将与响应的实际长度不匹配。
删除postman中的请求头内容长度将解决您的响应是不完整的json结构的问题。
在postman中打开请求的headers选项卡,并确保自动生成的headers没有隐藏。然后可以取消选中内容长度标题。