gpt4 book ai didi

java - 在 Spring Boot 应用程序中,如果不存在,如何设置默认 header

转载 作者:行者123 更新时间:2023-12-02 02:05:21 25 4
gpt4 key购买 nike

我编写了一个带有获取请求映射的方法,它提供了用户列表。由于 jakson 绑定(bind)依赖关系,因此会以 JSON 形式给出响应。我还依赖于 XML,即 Jackson Dataformat XML。因此,如果 Accept 是 application/json,它会以 JSON 形式返回响应,如果它是 application/xml,它会以 XML 形式返回。但默认情况下,它会给出 JSON 响应。所以,我想添加 Accept header (如果不存在)并将其默认值设置为 application/xml。

@GetMapping(path="/getAll")
public List<User> getUsers(@RequestHeader(value= "Accept" ,required=false, defaultValue="application/xml") String Accept)
{
return service.findAll();
}

但在上述情况下, header 未设置。

最佳答案

为此,您需要修改 Controller 方法以返回 ResponseEntity<List<User>>如下:

@GetMapping(path="/getAll")
public ResponseEntity<List<User>> getUsers(@RequestHeader(value= "Accept" ,required=false, defaultValue="application/xml") String Accept) {

HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.setLocation(location);
responseHeaders.set("Accept", "Value");
return new ResponseEntity<List<User>>(service.findAll(), responseHeaders, HttpStatus.CREATED);
}

关于java - 在 Spring Boot 应用程序中,如果不存在,如何设置默认 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50900254/

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