Java 将RequestMapping添加到控制器
我有一个控制器Java 将RequestMapping添加到控制器,java,spring-mvc,Java,Spring Mvc,我有一个控制器 @Controller public class ModxProxyController { @RequestMapping("/face/blog") public ModelAndView processFace() {...} } 它只处理对URL/face/blog的请求。我需要它来处理(用同样的方法)更多的URL。但直到我的应用程序启动的那一刻,我还不知道URL。我可以从第三方服务中每天检索一次。因此,任务是以编程方式添加要使用此方法处理的UR
@Controller
public class ModxProxyController
{
@RequestMapping("/face/blog")
public ModelAndView processFace()
{...}
}
它只处理对URL/face/blog的请求。我需要它来处理(用同样的方法)更多的URL。但直到我的应用程序启动的那一刻,我还不知道URL。我可以从第三方服务中每天检索一次。因此,任务是以编程方式添加要使用此方法处理的URL(processFace)。您可以在中使用
regexp
@RequestMapping("/face/regexp")
例如:
@RequestMapping(value="/{textualPart:[a-z-]+}.{numericPart:[\\d]+}")
public String regularExpression(
@PathVariable String textualPart,
@PathVariable String numericPart){
System.out.println("Textual part: " + textualPart +
", numeric part: " + numericPart);
return "someResult";
}
从中,您需要某种形式的公共根,例如:
@RequestMapping("/face/*")
甚至是一切
@RequestMapping("/")
我不确定是否可以使用属性占位符定义requestmappings。如果这是可能的,我将编写一个属性计算器,它“每天”获取这些映射。如果需要,您可以对数据库甚至属性文件执行此查找 我不能用正则表达式,因为我不知道我需要处理的URL。我只能按程序语法检索它们。因此,我还需要以编程方式进行请求映射。@user2160696您不理解主要思想。你必须只为一种url类型编写一个函数。我没有任何“url类型”。它可以是/face/dodo、/face/dddd甚至/faceee。对于所有这些URL数组,我得到了特殊的逻辑。对于所有其他URL,我得到了预映射的方法。不,我已经得到了/的预映射逻辑。我需要我的方法来处理从第三方服务检索到的URL数组。它们可以是任何(/face/ff、/face/dd或甚至/dodo/do)。我需要将所有这些url直接映射到我的方法。@user2160696所以只需将face或dodo作为根?Γn很幸运,我不知道根url。它可以是任何类型的。所以唯一的方法是直接设置这个映射。@user2160696这有点困难