hypermedia相关内容

HATEOAS 和链接/操作

我正在努力思考如何(以及是否要)在我的 api 中实现 HATEOAS.我喜欢只为客户提供适合当前情况的行动的概念之一.但是我不确定我是否正确地实施了这个想法. 假设我有一个资源类型order,其状态可以更改,它可以有不同的状态(processing、accepted、拒绝、过期、成功).然后我应该创建以下 json 对象: {...“链接":{"accept": "http://exam ..
发布时间:2021-11-15 21:04:02 其他开发

自链接在超媒体 API 中的重要性是什么?

我在 REST 上阅读的所有文章和书籍都重复了在超媒体响应中添加“自我"rel 链接的重要性,但它们都对原因和用例进行了阐述. 为什么要添加自链接,它有什么用处? 解决方案 主要原因是客户端(甚至一些服务器)不将表示的位置与表示一起存储.例如,如果您 wget http://.../foo.json,则表示将保存到磁盘,但获取它的 URI 不会.如果表示中没有嵌入“self"链接,这 ..
发布时间:2021-07-09 19:23:31 其他开发

如何使用 JSON HAL 处理嵌套资源?

想象一个 REST 端点 (/employees) 以 JSON HAL 格式为员工页面提供服务.一名员工居住在一个国家,该国家位于一个大陆. 对于国家和大洲,也有单独的端点. 返回的页面包含典型的 _embedded 字段和员工数据.员工资源还包含嵌套的 country 资源.这个嵌套的 country 资源还包含 _links. 在这种情况下,输出将是: GET/emplo ..
发布时间:2021-07-09 19:20:40 其他开发

可选择在 Spring Data Rest 中禁用 HATEOAS 格式

假设我有一个现有的应用程序,它有两个端点/people 和/pants.调用 GET/people 返回: [{"name":"约翰",“年龄":37,“裤子":[{"颜色":"绿色","品牌":"李维斯",“尺寸":“中等"},{"颜色":"靛蓝","品牌":"jncos","size":"中等大腿"}]},{"name":"六月",“年龄":23,“裤子":[{"颜色":"粉红色","品牌" ..
发布时间:2021-07-09 19:09:38 其他开发

HATEOAS与PUT/POST链接

为资源上的 POST / PUT / PATCH 表示HATEOAS链接的最佳方法是什么?这些操作具有有效负载,但是我们没有选择在HATEOAS链接中表示有效负载的选项,因为它们不是预先确定的,而且可能很重.那么仅指定终点并指定操作就足够了吗? 对于使用HATEOAS POST / PUT / PATCH 链接的JSON响应,任何示例或示例都将不胜感激. 解决方案 链接由两个元素组成 ..
发布时间:2021-04-09 18:30:27 其他开发

保存后如何检索实体关系?

我正在使用 spring-data 作为其数据访问层开发RESTful网络服务,由JPA/Hibernate支持. 域实体之间具有关系是很常见的.例如,假设一个实体Product具有 一个Category实体. 现在,当客户端POST是JAX-RS方法的Product表示形式时.该方法用@Transactional注释,以将每个存储库操作包装在事务中.当然,客户端只发送已经存在的Catego ..
发布时间:2021-02-12 20:04:35 Java开发

什么是超媒体,超媒体控件,超媒体格式

我目前正在阅读“最佳实践”一书。我无法理解以下术语“超媒体”,“超媒体格式”,“超媒体控件”,“域应用程序协议”。作者建议需要特定于域的超媒体格式。我很难理解。我用谷歌搜索了这些术语,但是找不到正确的答案。谁能解释这些术语以及为什么我们需要特定于域的超媒体格式而不是application / xml? 解决方案 Hypermedia =客户端服务器和服务器根据某种统一的表示进行交谈,例如: ..
发布时间:2020-10-09 01:26:14 其他开发

HATEOAS和链接/动作

我正在努力解决如何(以及是否要)在我的api中实现HATEOAS.我喜欢这样一种概念:仅向客户提供在当前情况下适当的操作.但是我不确定我是否正确实现了这个想法. 假设我有一个资源类型 order ,其状态可以更改,它可以具有不同的状态(处理,接受, 拒绝,过期,成功).然后,我应该创建以下json对象吗? { ... "links": { "accept ..
发布时间:2020-09-06 00:21:06 其他开发

为RESTful(超媒体)API编写客户端

几天来我一直在阅读“真正的" RESTful API,我认为,我快要了解它的含义了. 但是我偶然发现的一件事是,我什至无法开始想象人们将如何为“真正的"超媒体API编写客户端: 我阅读的大多数示例都涉及浏览器和蜘蛛,但这并不是特别有用:一个是人为导向的“智能",另一个是愚蠢的“随机"的.就目前而言,我给人的印象是,您需要学习AI才能使客户正常工作. 我不清楚的一件事是,客户如何知 ..
发布时间:2020-07-19 20:54:32 其他开发

如何为RESTful Web服务创建自定义媒体类型(应用程序/vnd)?

我现在正在使用REST,并认为我正确实现了 HATEOAS 只是为了使所有概念正确. > 为此,我想创建自己的媒体类型(application/vnd[...]+xml和application/vnd[...]+json). 第一个问题:媒体类型是否定义了服务器与客户端之间的合同? 媒体类型将定义我的消息格式,因此我需要添加XML模式和JSON模式以与新的媒体类型一起使用(以便RE ..
发布时间:2020-05-08 01:09:07 其他开发

编排微服务

编排微服务的标准模式是什么? 如果微服务只知道自己的域,但是有一个数据流需要多个服务交互在某种程度上,它的方法是什么? 假设我们有类似的东西: 发票 货件 并且为了参数的缘故,假设订单一旦发货,就应该创建发票。 在某个地方,有人按下GUI中的按钮,“我已经完成了,让我们这样做!” 在一个经典的整体服务架构中,我会说有一个ESB处理这个,或者发货服务知道发票服务,只 ..
发布时间:2018-07-09 14:23:15 其他开发

JSON超媒体API与表格和链接

我正处于规划REST API的早期阶段,我希望它遵守REST的HATEOAS约束。但我也想提供一个JSON格式。所以我的问题是,是否有约定用于表示JSON中的链接和表单。 我找到了链接的例子,看起来这是一种很常见的方式代表链接: “links”:[ {“rel”:“self”,“href”: “http://example.org/entity/1”}, {“rel”:“frien ..
发布时间:2018-03-05 13:50:57 其他开发

生成超媒体在Web API链接

我很好奇,想知道其他人如何处理产生对他们的网络API的超媒体链接的问题?具体来说,我使用的ASP.NET Web API,和我有业务之间徘徊回报超媒体相关的类型,或返回资源本身,并且具有超媒体的东西在管道后发生。 也就是说,做的人往往会做这样的事情: 公共资源<排序> GetOrder(INT ID){ 返回新的资源与LT;排序>(){ 内容=新订单() ..
发布时间:2016-07-13 20:25:12 C#/.NET

链接关系的粒度VS在自定义的媒体类型$ P ​​$ pcision?

我在为一个RESTful API设计定制媒体类型的过程,已经研究的类型和一些对“标准”的链接关系,语义给我设计了一些转向。 为了说明问题,让我们说,我有我可以执行标准读,变化的资源,删除和我使用GET的HTTP成语,PUT方法和DELETE语句来实现这些方法。 我可以合理地(重新)使用“编辑”链接关系(从的 IANA链接注册)如 RFC5023定义其中规定: “...的价值”编辑“指定h ..
发布时间:2016-05-22 21:10:38 其他开发

Java的球衣声明超链接@Ref使用注释

我一直试图在泽西1.12文档中的第6章(超级链接声明)中提供的例子来扩张,但似乎已经撞墙了关于使用@Ref注释。 我的code是如下: @Path(“/产品/ {} offeringId /部件”) @Produces(MediaType.APPLICATION_JSON) 公共类WidgetsResource { @得到 @Path(“/ {为widgetid}”) 市民反应的 ..
发布时间:2016-05-17 19:23:49 Java开发