当前位置: 首页 > 面试题库 >

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

冉俊德
2023-03-14
问题内容

我想要一个控制器,该控制器映射到/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映射的两个单独的控制器更好的做法?


问题答案:

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

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

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



 类似资料:
  • 本文向大家介绍iOS是否可以 在一个视图控制器中嵌入两个tableview控制器?相关面试题,主要包含被问及iOS是否可以 在一个视图控制器中嵌入两个tableview控制器?时的应答技巧和注意事项,需要的朋友参考一下 答案:一个视图控制只提供了一个View视图,理论上一个tableViewController也不能放吧, 只能说可以嵌入一个tableview视图。当然,题目本身也有歧义,如果不是

  • 对于我们的web应用程序,我需要保存获取和显示的项的顺序,这取决于视图--或者准确地说--生成视图的控制器和操作(当然还有用户id,但这不是这里的重点)。 我认为,与其在每个控制器操作中自己给出一个标识符(以便使用它对DB输出进行视图依赖的排序),不如从控制器和操作方法中自动创建这个标识符更安全、更容易。 如何从控制器的操作方法中获取控制器和操作的名称?还是我需要反思?

  • 我需要创建一个接受RequestBody或RequestPart的单个endpoint。 如果请求包含RequestPart,它将执行一些逻辑来处理MultipartFile,否则它将处理RequestBody中传递的对象。 但是,当发送多部分请求时,它会失败,并出现以下错误: 请注意,引用了RequestBody参数。 null null

  • 控制器类 mininet.node.Controller 控制器基类。默认的控制器是一个参考的实现,controller。 表示一个控制器节点。包括 IP 地址、端口等。 主要方法包括启动和停止一个控制器。 init def __init__( self, name, inNamespace=False, command='controller', cargs=

  • 问题内容: 我有一个控制器,该控制器的操作可以显示一组特色产品。但是,产品是通过包含专有模型和视图的控制器进行管理的。 如何从控制器中的操作中访问信息?实例化无法运行,因为该类未在运行时加载,并且CodeIgniter也未提供动态加载控制器的方法。将类放入库文件中实际上也不起作用。 确切地说,我需要在索引视图中插入产品视图(填充有控制器处理的数据)。我正在运行CodeIgniter 2.0.2。

  • 现在,我从Visual Studio 2015提供的默认ASP.NET核心Web应用程序项目模板开始,包括对单个用户帐户的身份验证。 大多数(如果不是所有)生成的控制器都返回视图,通常遵循以下模式: 此方法返回一个您可以看到的视图,当web客户机请求时,一切都很好。但是如果游戏正在向相同的方法发送请求呢?在这种情况下,需要一个JSON响应(不是view/html文档),我的问题是在ASP.NET核