Spring MVC-RAML Synchronizer Sample,顾名思义是Spring MVC-RAML Synchronizer的一个示例。

但是Spring MVC-RAML Synchronizer包含3个组成部分,所以准确地说,Spring MVC-RAML Synchronizer Sample是springmvc-raml-plugin的示例。即,Spring MVC-RAML Synchronizer Sample是Maven插件springmvc-raml-plugin的使用示例。

1. Spring MVC-RAML Synchronizer Sample的组成:

  • client
  • server
  • api.raml文件(该文件也位于server端src\main\resources\public\raml路径下)

2. Spring MVC-RAML Synchronizer Sample的下载与构建

git clone https://github.com/phoenixnap/springmvc-raml-plugin-sample/
cd springmvc-raml-plugin-sample
mvn clean install

注意,其中springmvc-raml-plugin插件在pom.xml中的配置请参考代码。


3. 构建结果分析

1) jar文件

在drinks-server/target目录下生成两个jar文件:

  • drinks-server-xxx.jar,常见的公共类库
  • drinks-server-xxx-exec.jar,Spring Boot可直接启动

在drinks-client/target目录下生成一个jar文件drinks-client-xxx.jar,就是常见的公共类库


2) RAML生成文件

在server端的generated-raml-mvc路径下,会生成rest目录,其中的Java文件都是从RAML生成得到的。

Spring MVC-RAML Synchronizer Sample代码分析


在client端的generated-raml-mvc路径下,会生成client目录,其中的Java文件都是从RAML生成得到的。

Spring MVC-RAML Synchronizer Sample代码分析


可以看出,从RAML生成的客户端model与服务端model完全一致。

服务端生成了两个Controller接口,而客户端生成了两个对应的Client接口。


4.服务的实现

在server端,开发了Controller接口的实现。

Spring MVC-RAML Synchronizer Sample代码分析


5.服务的启动

java -jar drinks-server-0.0.1-exec.jar

启动Spring Boot服务。

6. 浏览器访问

  • http://localhost:8080/
  • http://localhost:8080/drinks
  • http://localhost:8080/healthCheck

Spring MVC-RAML Synchronizer Sample代码分析


参考链接:

https://github.com/phoenixnap/springmvc-raml-plugin/

https://github.com/phoenixnap/springmvc-raml-plugin-sample/

相关文章: