首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Domain-Driven创建Hypermedia API

Hypermedia API的思想在于:API资源除了包含必要的返回值,还能告诉API消费者下一步领域模型拥有的能力和此时领域模型的状态,也就是API消费者接下来可以请求什么样的API。...---- 三、实现Hypermedia API 根据上面的分析,我们尝试对trip API返回的资源进行第一版建模,一个最初的版本如下: public class TripResource {...---- 四、 如何优雅的消费Hypermedia API 按照本文提供的设计思路,因为我们设计好的API总能够返回下次可用的API列表,所以我们可以认为整个API列表是有层级关系的,服务端只需要提供一个最顶端的...} 当然,如果你API消费端是Javascript,你应该没法写出这样的API Navigator来帮你做类型保证,不过你可以写一个TypeScript版本的API navigator,一个典型的Hypermedia...start.productHome) .followLink(product => product.products) .execute(); return products;} 本文从领域建模出发,描述了Hypermedia

81010
您找到你想要的搜索结果了吗?
是的
没有找到

REST架构风格详解

在你获得一个节点中的资源的同时,服务器还会返回给你这个节点的边:Hypermedia(超链接就是一种Hypermedia)。通过Hypermedia,你能够知道如何跳转到相邻的节点。...因为HATEOAS:服务端在返回上一个状态(资源)的时候,会返回所有相邻状态的Hypermedia,其中就包括“查看文章列表”这个Hypermedia。...客户端会展示所有相邻状态的Hypermedia供用户选择。...Hypermedia供用户选择(比如,在首页有一个导航栏,里面有几个链接) => 用户选择了某个Hypermedia(比如,点击了“查看文章列表”的链接) => 客户端请求“文章列表”资源 =>...服务器返回“文章列表”资源的表示,以及相邻资源的Hypermedia => 客户端进入“文章列表”状态 => 客户端显示所有相邻状态的Hypermedia供用户选择(比如,在文章列表里,显示所有文章的链接

78420

我们应该重新定义REST吗?

相比之下,我们应该改用“HTTP API”和“hypermedia API”这两个说法,使用它们可以更好地区分两种不同的 Web 服务编程接口设计。...5你好,hypermedia API 要让一个 Web 服务接近真正的 RESTful,它对客户端的响应消息的负载就不能由任何旧的任意数据对象组成。...6“HTTP API”和“hypermedia API” 我们赶快让“REST API”这个术语走入历史吧。REST 的含义实在是太混乱了,想纠正它根本没戏。...我们今天所说的“REST API”应该重新分类为“HTTP API”或“hypermedia API”。 HTTP API 是围绕 HTTP 设计的。...即使在不断努力实现真正的 RESTful API 的背景下,“hypermedia”也是一种更好、更具表现力的分类。

60710
领券