Я пытаюсь настроить префикс пути в отображении запроса из приложения, чтобы оптимизировать путь отображения запроса. Теперь я определил объект ModuleRequestMappingHandlerMapping для обработки моего собственного пути отображения запроса.
Тем не менее, я столкнулся с проблемой. Первоначально URL посещения был «/ test / mapping», теперь URL посещения «/ aaa / test / mapping», я хочу удалить отображение запроса источника.
Я должен как это сделать?
Я вызываю метод unregisterMapping из AbstractHandlerMethodMapping.but, который может отменить регистрацию только из пользовательского ModuleRequestMappingHandlerMapping.Я хочу отменить регистрацию в RequestMappingHandlerMapping.
for (Map.Entry<Method, T> entry : methods.entrySet()) {
Method method = entry.getKey();
RequestMappingInfo mapping = (RequestMappingInfo) entry.getValue();
String urlPrefix = nowModuleRequestMappingUrlInfo.getUrlPrefix();
//Origin handler
if (StringUtils.isEmpty(urlPrefix)) {
//Register
registerHandlerMethod(handler, AopUtils.selectInvocableMethod(method, userType), mapping);
return;
}
//New handler
//New --- register new mapping info
//Register
registerHandlerMethod(handler, AopUtils.selectInvocableMethod(method, userType), mapping);
//Old --- unregister old mapping info
//Remove old mapping(if modified)--switch
if (1 == 1) {
//Remove prefix
Predicate<Class<?>> removeObj = pathPrefixes.remove(urlPrefix);
//Unregister old mapping
unregisterMapping(this.getMappingForMethod(method, userType));
//Restore prefix
pathPrefixes.put(urlPrefix, removeObj);
//Reset module request mapping url info
nowModuleRequestMappingUrlInfo.clean();
}
}
**I want to unregister mappingRegister from RequestMappingHandlerMapping.Let visit of origin url is fail.there both url is not repeat in visit.**