当前位置: 首页 > 图灵资讯 > 技术篇> Spring动态注册控制器路由:如何不指定参数类型实现路由注册?

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

来源:图灵教育
时间:2024-12-02 19:25:07

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动态注册控制器路由:如何不指定参数类型实现路由注册?的详细内容,更多请关注图灵教育其它相关文章!