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这有点困难