如何解决Spring WebFlux:在运行时以编程方式添加路由
在spring webflux中,我试图在运行时以编程方式添加一个RouterFunction。
这是我要完成的工作:
@RestController
public class TestController {
@Autowired
ApplicationContext context;
@GetMapping("/add")
public String test() {
ConfigurableApplicationContext configContext = (ConfigurableApplicationContext) context;
SingletonBeanRegistry beanRegistry = configContext.getbeanfactory();
RouterFunction<ServerResponse> route = RouterFunctions.route(GET("/new/{id}"),serverRequest -> ServerResponse.ok().bodyValue("okay!"));
beanRegistry.registerSingleton("route123",route);
return "success";
}
}
当我点击/ add时,新的RouterFunction bean被添加到应用程序上下文中。但是当我打到新路线/new/123
时,它返回的是404。
我要实现的目标是可能的吗?还是只能在启动时配置新路径?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。