Spring启动Maven MultiModule Rest api Call

时间:2018-04-26 05:55:59

标签: java maven spring-boot spring-restcontroller


所有我在Spring启动时都是新手并且有一个问题。 目前我正在使用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>

之后我运行我的项目,例如&#34; mvn Spring-boot run&#34;它运行在8080。 当我打电话给&#34; Rest / demoa&#34;当我试着打电话给其他休息时,它会给我回应 错误如下:

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

我的问题是如何在运行项目时获得2 api的响应&#34; A&#34;

2 个答案:

答案 0 :(得分:0)

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

你可以:

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

答案 1 :(得分:0)

您需要确保Project AProject B中的控制器已被扫描并自动配置。 您需要做的是在主类中使用@ComponentScan注释,并在Project AProject B

中为组件和控制器提供包