Java 找出Spring mvc控制器方法中使用的映射

Java 找出Spring mvc控制器方法中使用的映射,java,spring-mvc,Java,Spring Mvc,我以这种方式定义了控制器方法来处理这两个问题 /new和/modifyNew 在我的方法中是否有一种方法可以找出请求是通过哪个映射传入的。。?它是新建的还是修改新建的?这是一种很好的编程方式吗?您可以按照描述读取请求url,但我不建议这样做。访问实际url的需要足以将每个端点拆分为两个单独的控制器,并将公共逻辑提取到方法中 这是一种好的编程方式吗 在我看来,这不是因为你违反了“单一责任原则”()。这意味着您的函数一次要做不止一件事,因为它分别为两个端点提供实现。如果控制器为两个端点提供的行为相等

我以这种方式定义了控制器方法来处理这两个问题
/new
/modifyNew


在我的方法中是否有一种方法可以找出请求是通过哪个映射传入的。。?它是
新建的
还是
修改新建的
?这是一种很好的编程方式吗?

您可以按照描述读取请求url,但我不建议这样做。访问实际url的需要足以将每个端点拆分为两个单独的控制器,并将公共逻辑提取到方法中

这是一种好的编程方式吗

在我看来,这不是因为你违反了“单一责任原则”()。这意味着您的函数一次要做不止一件事,因为它分别为两个端点提供实现。如果控制器为两个端点提供的行为相等,则可以。如果你对代码质量感兴趣,我推荐你一本罗伯特·C·马丁的书《干净的代码》。玩得开心

您可以使用以下方法获取请求的url:

@RequestMapping(value = {"/new", "/modifyNew"} ) public ModelAndView  public getCreate()
您可以获取请求的url并检查它是否有
/new
/modifyNew

此外,您还可以查看上面的
HttpServletRequest
文档,并根据需要使用任何其他方法

@RequestMapping(value = {"/new", "/modifyNew"} ) public ModelAndView  public getCreate(HttpServletRequest request){
    String url = request.getRequestURI() //Gets the requested URI.
}