当前位置: 首页 > 知识库问答 >
问题:

Spring Boot:如何为多个RESTController设置公共路径

吕寒
2023-03-14

我正在使用spring boot编写一个api,我希望将所有资源映射到一个公共基本路径(在本例中为/api)后面。但是,我不想为每个RestController类做注解(例如,通过使用@RequestMapping对其进行注解)。我想过以下解决方案,但它们都有我不想要的缺点:

  • 创建一个基类(如ApiRestController)并让所有其他RestController继承这个类。这有一个缺点,即类级别上的@RequestMapping没有在基类和实现类之间合并。
  • 注释所有RestController,但这会导致代码重复
  • 更改server.context-path属性。这有一个缺点,即所有endpoint都将使用此基路径。甚至是执行器项目暴露的endpoint。
  • 使用自定义DispatcherServlet和ServletRegistrationBean。但这似乎与更改server.context-path具有相同的效果。

谢了。

共有1个答案

薄鸿远
2023-03-14

为什么不在所有RESTController上放置@requestmapping(“/api”)?

@RestController
@RequestMapping("/api")
public class UserApi {
    @RequestMapping("/user")
    public String user() {
        ...
    }
}
 类似资料:
  • 大家好,我有代码主和tictactoe类 这里是main类的示例。在这段代码中,我输入了类似字符串号的内容 这是为我的tictactoe程序班准备的。如果我运行这个代码,我只有3x3tictactoe程序,所以我想用我的输入修改其中一个代码,这样我的tictactoe将输入x输入 我的问题是我想改变这个领域 成为 公共静态最终int行=输入;//行按COLS单元格public static fin

  • 本文向大家介绍laravel框架如何设置公共头和公共尾,包括了laravel框架如何设置公共头和公共尾的使用技巧和注意事项,需要的朋友参考一下 可以新建一个布局模板,layout.blade.php 在layout中设置公共头、尾 再新建个内容模板,content.blade.php 继承布局模板 当然公共头部也可以再单独写一个模板header.blade.php 在layout中用@includ

  • 问题内容: 我正在使用LESS样式语言。 考虑以下CSS: 现在,我所有的图像都在文件夹中,我希望能够将变量设置为图像路径并像这样使用它: 但是,这不起作用。这没什么大不了的,如果映像文件夹发生更改,我总是可以使用 查找和替换 。我刚刚开始学习LESS,并且想知道是否有可能这样做。 问题答案: 尝试将字符串插值用于此类情况。在docs中寻找“变量插值” 。

  • 下面是我的本地主机目录结构- htdocs\software\office_admin\exam_excel\Classes\PHPExcel.php htdocs\software\office_admin\ exam_excel\Classes\PHPExcel\IOFactory.php htdocs\software\office_admin\include\ classes\myownc

  • 我有一个接一个的类来测试模拟对象。 我的测试: Test01工作正常,但在Test02中我有问题。在Test02方法中,需要调用进程路径。它使用mockNetwork公共最终变量。我不知道在哪里设置它们。它导致了空异常。在上面的代码中,我试图更改此字段的可访问性并设置它们,但现在我在消息“sinkIndex”中出现错误。 如何在mockNetwork中模拟公共最终变量?我正在使用Easymock。

  • 我有一个springboot项目。在远程tomcat服务器webapps目录上使用WAR包。ROOT是WAR项目,它有两个文件夹,WEB-INF和META-INF。如下所示 现在出现了一个问题,我上传的文件在项目根目录'upload-dir'目录下(您可以在下图中看到upload-dir位置)。不在WAR包中,也不在远程服务器上。我应该在远程服务器上的哪里创建这个新目录? 我使用Files.cre