下面列出了怎么用org.springframework.web.servlet.function.ServerRequest的API类实例代码及写法,或者点击链接到github查看源代码。
@Nullable
@Override
public ModelAndView handle(HttpServletRequest servletRequest,
HttpServletResponse servletResponse,
Object handler) throws Exception {
HandlerFunction<?> handlerFunction = (HandlerFunction<?>) handler;
ServerRequest serverRequest = getServerRequest(servletRequest);
ServerResponse serverResponse = handlerFunction.handle(serverRequest);
return serverResponse.writeTo(servletRequest, servletResponse,
new ServerRequestContext(serverRequest));
}
private ServerRequest getServerRequest(HttpServletRequest servletRequest) {
ServerRequest serverRequest =
(ServerRequest) servletRequest.getAttribute(RouterFunctions.REQUEST_ATTRIBUTE);
Assert.state(serverRequest != null, () -> "Required attribute '" +
RouterFunctions.REQUEST_ATTRIBUTE + "' is missing");
return serverRequest;
}
@Nullable
@Override
protected Object getHandlerInternal(@NotNull HttpServletRequest servletRequest) throws Exception {
if (this.routerFunction != null) {
ServerRequest request = ServerRequest.create(servletRequest, this.messageConverters);
servletRequest.setAttribute(RouterFunctions.REQUEST_ATTRIBUTE, request);
return this.routerFunction.route(request).orElse(null);
}
else {
return null;
}
}
public ServerRequestContext(ServerRequest serverRequest) {
this.serverRequest = serverRequest;
}
@Override
public void resources(Function<ServerRequest, Optional<Resource>> lookupFunction) {
// Not yet needed
}
ServerResponse handleGetAllPeople(ServerRequest serverRequest) {
return ok().body(personService.all());
}
ServerResponse handlePostPerson(ServerRequest r) throws ServletException, IOException {
Person result = personService.save(new Person(null, r.body(Person.class).getName()));
URI uri = URI.create("/people/" + result.getId());
return ServerResponse.created(uri).body(result);
}
ServerResponse handleGetPersonById(ServerRequest r) {
return ok().body(personService.byId(Long.parseLong(r.pathVariable("id"))));
}
public ServerResponse hello(ServerRequest request) {
return ok().body(sampleService.generateMessage());
}
public ServerResponse json(ServerRequest request) {
return ok().body(new Sample(sampleService.generateMessage()));
}
private boolean authenticate(ServerRequest req) {
return Boolean.TRUE;
}