类org.springframework.web.servlet.function.ServerRequest源码实例Demo

下面列出了怎么用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
}
 
源代码6 项目: springdoc-openapi   文件: HelloApplication.java
ServerResponse handleGetAllPeople(ServerRequest serverRequest) {
	return ok().body(personService.all());
}
 
源代码7 项目: springdoc-openapi   文件: HelloApplication.java
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);
}
 
源代码8 项目: springdoc-openapi   文件: HelloApplication.java
ServerResponse handleGetPersonById(ServerRequest r) {
	return ok().body(personService.byId(Long.parseLong(r.pathVariable("id"))));
}
 
源代码9 项目: spring-fu   文件: SampleHandler.java
public ServerResponse hello(ServerRequest request) {
	return ok().body(sampleService.generateMessage());
}
 
源代码10 项目: spring-fu   文件: SampleHandler.java
public ServerResponse json(ServerRequest request) {
	return ok().body(new Sample(sampleService.generateMessage()));
}
 
源代码11 项目: tutorials   文件: ProductController.java
private boolean authenticate(ServerRequest req) {
    return Boolean.TRUE;
}
 
 同包方法