如何为 com.myproject.api 下的所有控制器添加“api”前缀?

M U*_*M U 6 java spring spring-mvc spring-webflow spring-boot

我试图找到它,但我发现了许多不同的场景,但不是这个。

我想要做的是为 com.myproject.api 下控制器中的所有路由添加“/api/”前缀。我希望包 com.myapp.api 下的所有控制器都使用“/api/*”,而 com.myapp.web 下的所有控制器都没有前缀

Spring / Spring Boot 有可能吗?

Mul*_*ure 6

使用 Spring Boot,这对我有用:

@Configuration
@EnableWebMvc
public class WebMvcConfiguration implements WebMvcConfigurer {

    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        configurer.addPathPrefix("/api",
               HandlerTypePredicate.forBasePackage("com.your.package"));
    }
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*rin -1

已经在这里这里回答了。

在 src/main/resources 下添加一个application.properties文件,其中包含以下选项:

server.contextPath=/api
Run Code Online (Sandbox Code Playgroud)

检查公共属性的官方参考。

  • 我不想为所有人添加基本网址。我正在使用前端模板和 api 构建应用程序,我想为其添加前缀 (4认同)
  • 不。我希望 com.myapp.api 包下的所有控制器都使用“/api/*”,而 com.myapp.web 下的所有控制器都没有前缀 (2认同)