Merge branch '3.4.x'

Closes gh-44190
This commit is contained in:
Andy Wilkinson
2025-02-10 09:27:01 +00:00
2 changed files with 15 additions and 6 deletions

View File

@@ -185,8 +185,14 @@ public final class EndpointRequest {
protected final boolean hasWebServerNamespace(ApplicationContext applicationContext,
WebServerNamespace webServerNamespace) {
return WebServerApplicationContext.hasServerNamespace(applicationContext, webServerNamespace.getValue())
|| (webServerNamespace.equals(WebServerNamespace.SERVER)
&& !(applicationContext instanceof WebServerApplicationContext));
|| hasImplicitServerNamespace(applicationContext, webServerNamespace);
}
private boolean hasImplicitServerNamespace(ApplicationContext applicationContext,
WebServerNamespace webServerNamespace) {
return WebServerNamespace.SERVER.equals(webServerNamespace)
&& WebServerApplicationContext.getServerNamespace(applicationContext) == null
&& applicationContext.getParent() == null;
}
@Override

View File

@@ -349,9 +349,12 @@ class EndpointRequestTests {
}
private RequestMatcherAssert assertMatcher(RequestMatcher matcher, PathMappedEndpoints pathMappedEndpoints,
RequestMatcherProvider matcherProvider, WebServerNamespace webServerNamespace) {
StaticWebApplicationContext context = (webServerNamespace != null)
? new NamedStaticWebApplicationContext(webServerNamespace) : new StaticWebApplicationContext();
RequestMatcherProvider matcherProvider, WebServerNamespace namespace) {
StaticWebApplicationContext context = new StaticWebApplicationContext();
if (namespace != null && !WebServerNamespace.SERVER.equals(namespace)) {
NamedStaticWebApplicationContext parentContext = new NamedStaticWebApplicationContext(namespace);
context.setParent(parentContext);
}
context.registerBean(WebEndpointProperties.class);
if (pathMappedEndpoints != null) {
context.registerBean(PathMappedEndpoints.class, () -> pathMappedEndpoints);
@@ -382,7 +385,7 @@ class EndpointRequestTests {
@Override
public String getServerNamespace() {
return this.webServerNamespace.getValue();
return (this.webServerNamespace != null) ? this.webServerNamespace.getValue() : null;
}
}