如何编写基于Spring Jax-Rs Jersey,HATEOAS API和JerseyTest框架集成的Spring Boot微服务 -DZone Microservices


在本文中,我们讨论如何编写基于Spring Jax-Rs Jersey,HATEOAS API和JerseyTest框架集成的Spring Boot微服务。我们将采用上一篇文章Spring Boot-Microservice-Spring Data REST和HATEOAS Integration的材料,并将其重写以用于新的Spring Jax-Rs Jersey用法。
这两篇文章均基于Spring HATEOAS参考文档的作者之一Greg Turnquist编写的示例项目。如果您已经熟悉此项目及其问题域,请随时跳过其描述。否则,我们鼓励您继续阅读。

问题:您希望实施订单的概念。这些订单具有某些状态代码,这些状态代码指示系统可以执行的转换,例如,只有在付款后才能履行订单,并且不能取消已履行的订单。
解决方案:您必须对一组OrderStatus代码进行编码,并使用自定义的Spring Web MVC控制器强制执行。该控制器应沿用Spring Data REST提供的路由。

点击标题见原文, GitHub 
(banq注:这种使用OrderStatus编码的解决方案并不是一种DDD面向业务的解决方式,订单状态是影响全局的重要事件和状态,使用简单数字编码代表状态,是一种过于抽象的方式,应采取状态模式或EventSourcing等方式隆重应对,这里只是REST技术举例)