Partially revert RequestPredicates attribute handling
This commit partially reverts39786e4790andc5c843696b, as the approach taken did not take into account request predicates that query request attributes, including path variables. Closes gh-31732
This commit is contained in:
@@ -114,4 +114,18 @@ public class RouterFunctionsTests {
|
||||
assertThat(resultHandlerFunction).contains(handlerFunction);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void composedPathVariable() {
|
||||
HandlerFunction<ServerResponse> handlerFunction = request -> ServerResponse.ok().build();
|
||||
RequestPredicate requestPredicate = RequestPredicates.path("/{foo}").and(
|
||||
request -> request.pathVariable("foo").equals("bar"));
|
||||
RouterFunction<ServerResponse> routerFunction = RouterFunctions.route(requestPredicate, handlerFunction);
|
||||
|
||||
MockHttpServletRequest servletRequest = new MockHttpServletRequest("GET", "/bar");
|
||||
ServerRequest request = new DefaultServerRequest(servletRequest, Collections.emptyList());
|
||||
Optional<HandlerFunction<ServerResponse>> resultHandlerFunction = routerFunction.route(request);
|
||||
assertThat(resultHandlerFunction).isPresent();
|
||||
assertThat(resultHandlerFunction).contains(handlerFunction);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user