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

下面列出了怎么用org.springframework.web.servlet.function.RouterFunctions的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: spring-fu   文件: WebMvcServerDsl.java
@Override
public void initialize(GenericApplicationContext context) {
	super.initialize(context);
	this.dsl.accept(this);
	context.registerBean(BeanDefinitionReaderUtils.uniqueBeanName(RouterFunction.class.getName(), context), RouterFunction.class, () ->
		RouterFunctions.route().resources("/**", new ClassPathResource("static/")).build()
	);
	serverProperties.setPort(port);
	serverProperties.getServlet().setRegisterDefaultServlet(false);
	if (!convertersConfigured) {
		new StringConverterInitializer().initialize(context);
		new ResourceConverterInitializer().initialize(context);
	}
	if (context.containsBeanDefinition("webHandler")) {
		throw new IllegalStateException("Only one webFlux per application is supported");
	}
	new ServletWebServerInitializer(serverProperties, webMvcProperties, resourceProperties).initialize(context);
}
 
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;
	}
}
 
源代码4 项目: spring-fu   文件: WebMvcServerDsl.java
/**
 * Configure routes via {@link RouterFunctions.Builder}.
 * @see org.springframework.fu.jafu.BeanDefinitionDsl#bean(Class, BeanDefinitionCustomizer...)
 */
public WebMvcServerDsl router(Consumer<RouterFunctions.Builder> routerDsl) {
	RouterFunctions.Builder builder = RouterFunctions.route();
	context.registerBean(BeanDefinitionReaderUtils.uniqueBeanName(RouterFunction.class.getName(), context), RouterFunction.class, () -> {
		routerDsl.accept(builder);
		return builder.build();
	});
	return this;
}
 
 类方法
 同包方法