一个问题已经存在,但更侧重于技术并且没有答案: Representing a request body on HATEOAS link 我喜欢 HATEOAS。 我喜欢在我的前端使用它来检查我是否可以通过检查链接是否存在而不是业务逻辑来执行某些操作。 但我不明白 HATEOAS 如何在其他场景中 ...
一个问题已经存在,但更侧重于技术并且没有答案: Representing a request body on HATEOAS link 我喜欢 HATEOAS。 我喜欢在我的前端使用它来检查我是否可以通过检查链接是否存在而不是业务逻辑来执行某些操作。 但我不明白 HATEOAS 如何在其他场景中 ...
我认为这个问题的答案很好,因为它解释了很多关于 HAL: 如何使用 JSON HAL 处理嵌套资源? 然而,它并没有完全回答这个问题(至少对我来说)。 假设我们有一个 /employees 资源,它返回所有员工的列表。 我希望员工嵌入,但只提供一些基本信息(而不是全部员工)。 根据上述答案和规范, ...
我对 REST API 如何工作以及如何通过超媒体链接资源进行了一些研究。 大多数有关链接资源的示例都与服务器的响应有关。 但是我想知道当某个资源应该更新时如何引用其他资源。 让我们以居住在特定位置的人的简单资源为例: 现在我想将该位置更新为另一个现有位置。 但是我该如何表示呢? 我可以吗: 引用 ...
在我指定和设计 REST API 的这些年里,我越来越发现它与设计一个网站非常相似,在这个网站上,用户的旅程、操作和链接都是故事板,对 UX 至关重要。 对于我目前的 API 设计,我返回项目中和资源底部的链接。 它们执行操作、改变状态或带回其他资源。 但就好像每个链接都在一个新选项卡中打开一样 ...
来自 Fielding 的文章( https://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven ): REST API 永远不应该包含对客户端很重要的“类型化”资源。 规范作者可以使用资源类型来描述接口背后的服务 ...
想象一下REST端点(/employees)以JSON HAL格式提供员工页面。 一名员工住在一个居住在非洲大陆的国家。 对于国家和大陆而言,也有单独的端点。 返回的页面包含具有员工数据的典型_embedded字段。 员工资源还包含嵌套的country资源。 此嵌套的count ...
我正在使用json服务器和axios 标头结果 如何通过链接使用/访问这些数据? 除了github以外,似乎没有任何有关如何解析或访问它的信息。 我像从github尝试过link.rels[:last]但它不起作用。 ...
根据HAL标准 (请参阅此处和此处 ),与其他资源的链接应放在特定的嵌入式部分中。 因此,例如这不是有效的HAL,我的理解正确吗? 上面的JSON无效的原因是,链接应该放在链接到主体ID的嵌入部分( “ _embedded” )中。 因此正确的方法是: 以上所有正确吗? ...
我想获得前20条记录,我的响应时间为200 一段时间后(通过调用相同的服务)我想要另外20条记录。 每次点击我想得到20条记录。 我该如何实现呢? 我使用Spring,hibernate和angular作为前端。 请提供解决方案。 提前致谢。 ...
基本上我有像发布此问题的成员一样的问题 当我在我的应用程序中请求单个用户时,我得到了HAL格式的响应,就像我希望的那样 http:// localhost:8080 / api / v1 / users / 25 with GET : 但是,当我请求所有用户时,我得到非HAL ...
我正在使用Hypermedia概念设计API。 我看到这是一个好习惯,它有一条根路由返回其他API链接进行导航。 例如:我向http://myapi.com提出了请求,并且返回 但是,以这种方式,如果根拥有20个资源,它将非常大。 那么,直接向order_types发出请求 ...
我正在开发我的第一个Hypermedia API。 我认为我对事物有很好的把握,但在记录API时,我开始质疑我对整个概念的理解。 问题的核心归结为文档,但可能是我没有正确理解一个或多个方面。 如果是的话,请告诉我:-) 记录链接关系 假设我的API中有一个或多或少的通用链接 ...
我正在实现一个ContainerResponseFilter ,它将为响应添加超媒体链接。 ContainerResponseFilter的方法签名是: 不幸的是, ContainerResponseContext不允许我设置Response对象,虽然有getLinks()方法,但 ...
我们API的入口点有一个名为“ x:reports”的关系(其中x是通过Curie在HAL表示中定义的前缀-但这现在并不重要)。 报告有几种类型。 以下“ x:report”提供了一组这些优惠,每个优惠都有其自己的关联-一个关联被称为“ x:proofofplay”。 有一组与此类型的 ...
我从未将HATEOAS与RESTAPI一起使用,而我所了解的是与HATEOAS一起使用,不需要在请求中存储URI,而服务器发送的URI可以用于获取其他资源或相关资源。 但是,有了HATEOAS,我们是否不增加通话数量? 如果我想获取客户订单信息,并且如果我首先获取客户信息并动态获取其订单 ...
可以说我们正在创建一个票务处理系统。 假设此域内有两个不同的有界上下文。 取消票更改票 据我了解,这两个可以是两个不同的微服务,而不必彼此了解。 取消服务的票证与更改服务的票证可能完全不同。 从REST API设计的角度来看,我已经阅读了很多有关使用超媒体并通过将相关操作作为R ...
我正在研究如何为特定资源实现超媒体,但找不到真正的实现示例,只是抽象...... 你知道,在各种文章中,这个人创建了一个方法: 到目前为止我所拥有的: 和预约课程: 有没有正确的方法? 我的意思是,没有硬编码链接? 如何为给定类型动态创建它们,即约会类? ...
我试图围绕如何(以及是否要)在我的api中实现HATEOAS进行研究。 我喜欢这样一种概念:仅向客户提供在当前情况下适当的操作。 但是我不确定我是否正确实现了这个想法。 假设我有一个资源类型订单 ,其状态可以更改,它可以具有不同的状态( 处理中 , 接受 , 拒绝 , 过期 ,成功)。 ...
我正在尝试在Rails中创建一个超媒体api。 我想使用json_api适配器使用active_model_serializers序列化我的有效负载。 但是,有条件地序列化链接似乎并不简单。 这是一种博客应用程序,用户可以在其中关注其他用户。 因此,当我序列化User资源时,例如说U ...
我了解HATEOAS通过发送应用程序在该时间点响应时可以执行的所有操作(HAL,JSON-LD等)来表示应用程序状态。 例如,查看银行的帐户资源可能使您可以存入,提取或关闭帐户(可能返回UPDATE和DELETE动词的选项)。 就这些链接的运行时可发现性(通过使用方的客户端)而言,该 ...