登录
首页 >  文章 >  java教程

Spring动态注册控制器路由:如何不指定参数类型实现路由注册?

时间:2024-12-12 15:51:42 306浏览 收藏

本篇文章向大家介绍《Spring动态注册控制器路由:如何不指定参数类型实现路由注册?》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。

Spring动态注册控制器路由:如何不指定参数类型实现路由注册?

动态注册 spring 控制器的路由

问题:

如何在 spring 中动态注册控制器的路由,而不指定显式参数类型?

回答:

要动态注册控制器路由,可以使用 java 反射机制来获取方法的参数类型。下面是更新的代码:

package dry.example.service.impl;

import java.lang.reflect.method;

...

private class getparametertype(object handler, string methodname) throws nosuchmethodexception {
    method method = handler.getclass().getmethod(methodname);
    return method.getparametertypes()[0];
}

通过反射动态获取参数类型后,可以在代码中动态注入。

RequestMappingInfo requestMappingInfo = RequestMappingInfo.paths("testing").methods(RequestMethod.GET).build();
Method method = handler.getClass().getMethod("h01", getParameterType(handler, "h01"));
requestMappingHandlerMapping.registerMapping(requestMappingInfo, handler, method);

今天关于《Spring动态注册控制器路由:如何不指定参数类型实现路由注册?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>