Spring契约优先REST

时间:2017-05-03 14:06:08

标签: spring rest spring-mvc spring-boot swagger

我有一个 Spring Web应用程序 - 它不使用基于Spring的GUI,但 Wicket - 我想构建契约优先< / em> REST服务。

我已经在 Swagger 中定义了一个契约,我生成了模型和API工件。 Swagger codegen 生成 Spring Boot 工件或 Spring MVC 工件。

我的目的是理想地使用一个模型,并且可能使用此生成代码中的API(控制器)。但是根据我的知识/研究,没有简单的方法可以在没有MVC / Boot样板的情况下获得简单的REST服务。

因此我的问题是:

  1. 是否有可能构建轻量级基于Spring的REST服务,而没有完整的Spring MVC / Spring Boot的“重”依赖?

  2. 如果没有,哪种方法更轻量级? Spring Boot,还是Spring MVC?

2 个答案:

答案 0 :(得分:2)

你误解了Spring生态系统。

Spring MVC是具有Spring产品组合的其他Web和Web服务库。 与Spring-WS一样的是肥皂网服务库。 它们在架构和使用方式上非常相似。 Spring MVC与Spring Framework捆绑在一起的事实并没有改变这种情况。

Spring Boot不会带来任何新的REST产品。它只是一个启动Java Web服务器的引导机制,其中已经从普通的main()部署了Web应用程序。因此,如果您看到&#34;使用Spring Boot和#34;构建REST Web服务,它只意味着它是由Spring Boot引导的Spring MVC。

因此,更轻量级的问题很简单:Spring MVC。

答案 1 :(得分:0)

回答问题#2:

使用 Spring MVC 更轻量级,然后使用 Spring Boot

WAR档案的大小:

  • Spring MVC
  • 的6,1 MB
  • 9,2 MB Spring Boot

WAR档案中的库数量:

  • 12 for Spring MVC
  • 28 for Spring Boot