Fix wrong document about RequestHeaderArgumentResolver

Also test is added to verify that.

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>

See gh-34230
This commit is contained in:
Yanming Zhou
2025-01-10 17:30:27 +08:00
committed by rstoyanchev
parent 7d844274dc
commit a8c5885aff
2 changed files with 13 additions and 2 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2024 the original author or authors.
* Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,6 +23,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.HttpExchange;
import static org.assertj.core.api.Assertions.assertThat;
@@ -32,6 +33,7 @@ import static org.assertj.core.api.Assertions.assertThat;
*
* @author Olga Maciaszek-Sharma
* @author Rossen Stoyanchev
* @author Yanming Zhou
*/
class RequestHeaderArgumentResolverTests {
@@ -49,6 +51,12 @@ class RequestHeaderArgumentResolverTests {
assertRequestHeaders("id", "test");
}
@Test
void doesNotOverrideAnnotationHeaders() {
this.service.executeWithAnnotationHeaders("test");
assertRequestHeaders("id", "default", "test");
}
private void assertRequestHeaders(String key, String... values) {
List<String> actualValues = this.client.getRequestValues().getHeaders().get(key);
if (ObjectUtils.isEmpty(values)) {
@@ -65,6 +73,9 @@ class RequestHeaderArgumentResolverTests {
@GetExchange
void execute(@RequestHeader String id);
@HttpExchange(method = "GET", headers = "id=default")
void executeWithAnnotationHeaders(@RequestHeader String id);
}
}