尝试使用 RouterFunction 在 Spring WebFlux 中使用 HTTP 标头进行 API 版本控制。
使用 Spring WebFlux RouterFunction 无法使用
@GetMapping(headers = "API-VERSION=1.0.0")
注释来完成。
我目前的尝试在我看来不是一个好的尝试。
public Mono<ServerResponse> heartBeat(ServerRequest request) {
final String apiVersion = request.headers().header("API-Version").get(0);
switch (apiVersion) {
case "1.0.0":
return heartBeatV1_0_0(request);
case "1.0.1":
return heartBeatV1_0_1(request);
default:
return heartBeatV1_0_0(request);
}
}
有没有更好的办法 ?