小编典典

在Spring 4 MVC中是否可以将控制器/具有控制器作为内部类嵌套?

java

我想要一个控制器,该控制器映射到/site/两个不同的控制器并在其中映射,如下所示:

@Controller
@RequestMapping(value="/api")
public class ApiController {
    @Controller
    @RequestMapping(value="/foo")
    public class FooController {
        //Some /foo/* methods here
    }

    @Controller
    @RequestMapping(value="/bar")
    public class BarController {
       //Some /bar/* methods here
    }

    //Other methods that don't match /foo or /bar
}

可以吗,还是将它分成带有/site/foo/site/bar映射的两个单独的控制器更好的做法?


阅读 211

收藏
2020-11-26

共1个答案

小编典典

在这里,将类层次结构绑定到资源层次结构不是主要的设计驱动力。

在Spring MVC中,控制器是简单的POJO,使其易于测试,组合优于继承,注解用于传达含义并使代码更具可读性。

在Controllers下嵌套Controller会破坏这些目标中的几个。

2020-11-26