【问题标题】:Spring boot Maven MultiModule Rest api CallSpring boot Maven MultiModule Rest api 调用
【发布时间】:2018-10-06 17:25:12
【问题描述】:


我是 Spring Boot 的新手,有一个问题。 目前我正在使用 spring boot 多模块项目。 我有 3 个春季启动项目。
像 A、B、C 一样,每个都有如下的休息控制器:-
--------项目-A------------------------ -------------

@RequestMapping(value = "/demoa")
public String demoa() {
    return "demoa";
}

--------项目-B---------- -------------

@RequestMapping(value = "/demob")
public String demob() {
    return "demob";
}

--------项目-C---------- -------------

@RequestMapping(value = "/democ")
public String democ() {
    return "democ";
}

我将两个 (B, C) 项目添加为 Project(A) 中的 mavend 依赖项并编译所有

<dependency>
    <groupId>com.b</groupId>
    <artifactId>demob</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>com.c</groupId>
    <artifactId>democ</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

之后,我像“mvn Spring-boot run”一样运行我的项目,它在 8080 上运行。 当我调用“Rest /demoa”时,它会给我响应,而当我尝试调用其他 rest 时,它会显示这些 以下错误:

{
    "timestamp": "2018-04-25T14:47:56.816+0000",
    "status": 404,
    "error": "Not Found",
    "message": "No message available",
    "path": "/demob"
}

我的问题是我如何在运行项目“A”时获得两个 api 的响应

【问题讨论】:

标签: java maven spring-boot spring-restcontroller


【解决方案1】:

您需要确保 Project AProject B 中的控制器已被扫描和自动配置。 你需要做的是在你的主类中使用@ComponentScan注解,并在Project AProject B中的组件和控制器上给它包

【讨论】:

    【解决方案2】:

    对于/demob/democ。您需要运行相应的项目或:

    你可以:

    • 在您的单个 tomcat 服务器中部署所有项目。
    • 从您的托管服务提供商处部署负载平衡器,或者您可以使用 Nginx 来执行此操作。
    • 拥有三个 tomcat 服务器。
    • 只有一个 Spring Boot 项目,但有三个 Rest 控制器。

    【讨论】:

      猜你喜欢
      • 2020-03-15
      • 1970-01-01
      • 2016-09-16
      • 1970-01-01
      • 2020-09-12
      • 2019-01-06
      • 2021-03-25
      • 2018-04-08
      • 2020-08-04
      相关资源
      最近更新 更多