gpt4 book ai didi

Spring Boot Rest - 如何接受多个 header

转载 作者:行者123 更新时间:2023-12-04 10:45:49 26 4
gpt4 key购买 nike

我正在使用 Spring Boot V2.2.2.RELEASE 并使用自定义 header 进行 API 版本控制。我开发了这样的小端点:

@GetMapping(value = "/student/header", headers = {"X-API-VERSION=2", "X-API-VERSION=1"})
public StudentV1 headerV2() {
return new StudentV1("Bob Charlie");
}

当我点击 curl -X GET http://localhost:8080/student/header -H 'x-api-version: 1' ,我得到了错误。
{
"timestamp": "2020-01-13T09:20:20.087+0000",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/student/header"
}

如果我使用 headers = {"X-API-VERSION=2"} ,那么它可以工作,但如果我使用 headers = {"X-API-VERSION=2", "X-API-VERSION=1"} ,然后事情停止工作。
@GetMapping(value = "/student/header", headers = {"X-API-VERSION=2"})
public StudentV1 headerV2() {
return new StudentV1("Bob Charlie");
}

最佳答案

使用 headers = {"X-API-VERSION=2", "X-API-VERSION=1"}两个标题都必须存在。

尝试为每个 header 使用一个映射,然后转发到您的服务实现。

@GetMapping(value = "/student/header", headers = {"X-API-VERSION=1"})
public StudentV1 headerV1() {
return serviceImpl.headerV1();
}

@GetMapping(value = "/student/header", headers = {"X-API-VERSION=2"})
public StudentV1 headerV2() {
return serviceImpl.headerV2();
}

关于Spring Boot Rest - 如何接受多个 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59713643/

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