Introduce common SimpleUrlHandlerMapping constructors
Prior to this commit, the SimpleUrlHandlerMapping classes in Spring MVC and Spring Webflux only had default constructors. This lead to the fact that users often had to explicitly invoke setUrlMap() and setOrder() on the newly instantiated SimpleUrlHandlerMapping. In order to simplify the programmatic setup of a SimpleUrlHandlerMapping in common scenarios, this commit introduces the following constructors. - SimpleUrlHandlerMapping() - SimpleUrlHandlerMapping(Map<String, ?> urlMap) - SimpleUrlHandlerMapping(Map<String, ?> urlMap, int order) Closes gh-23362
This commit is contained in:
@@ -152,12 +152,7 @@ public class ResourceUrlProviderTests {
|
||||
|
||||
@Bean
|
||||
public SimpleUrlHandlerMapping simpleUrlHandlerMapping() {
|
||||
ResourceWebHandler handler = new ResourceWebHandler();
|
||||
HashMap<String, ResourceWebHandler> handlerMap = new HashMap<>();
|
||||
handlerMap.put("/resources/**", handler);
|
||||
SimpleUrlHandlerMapping hm = new SimpleUrlHandlerMapping();
|
||||
hm.setUrlMap(handlerMap);
|
||||
return hm;
|
||||
return new SimpleUrlHandlerMapping(Collections.singletonMap("/resources/**", new ResourceWebHandler()));
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
||||
@@ -119,20 +119,16 @@ public class SimpleUrlHandlerMappingIntegrationTests extends AbstractHttpHandler
|
||||
|
||||
@Bean
|
||||
public SimpleUrlHandlerMapping handlerMapping() {
|
||||
return new SimpleUrlHandlerMapping() {
|
||||
{
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("/foo", (WebHandler) exchange ->
|
||||
exchange.getResponse().writeWith(Flux.just(asDataBuffer("foo"))));
|
||||
map.put("/bar", (WebHandler) exchange ->
|
||||
exchange.getResponse().writeWith(Flux.just(asDataBuffer("bar"))));
|
||||
map.put("/header", (WebHandler) exchange -> {
|
||||
exchange.getResponse().getHeaders().add("foo", "bar");
|
||||
return Mono.empty();
|
||||
});
|
||||
setUrlMap(map);
|
||||
}
|
||||
};
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("/foo", (WebHandler) exchange ->
|
||||
exchange.getResponse().writeWith(Flux.just(asDataBuffer("foo"))));
|
||||
map.put("/bar", (WebHandler) exchange ->
|
||||
exchange.getResponse().writeWith(Flux.just(asDataBuffer("bar"))));
|
||||
map.put("/header", (WebHandler) exchange -> {
|
||||
exchange.getResponse().getHeaders().add("foo", "bar");
|
||||
return Mono.empty();
|
||||
});
|
||||
return new SimpleUrlHandlerMapping(map);
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
||||
@@ -145,12 +145,8 @@ public class WebSocketIntegrationTests extends AbstractWebSocketIntegrationTests
|
||||
map.put("/sub-protocol", new SubProtocolWebSocketHandler());
|
||||
map.put("/custom-header", new CustomHeaderHandler());
|
||||
map.put("/close", new SessionClosingHandler());
|
||||
|
||||
SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();
|
||||
mapping.setUrlMap(map);
|
||||
return mapping;
|
||||
return new SimpleUrlHandlerMapping(map);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user