问题标签 [hal-json]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
462 浏览

spring-boot - 将 HATEOAS 链接映射到实际的 API 链接

我正在尝试使用 Spring Boot 实现 HATEOAS Rest Client。

现在,我陷入了需要将 HATEOAS 转换为实际 API URI 的问题。

如果我发布一个客户类型的新对象,例如:

然后我通过对http://localhost:8080/api/customer/1的请求进行检索,HATEOAS 给了我类似的东西

是否可以将形式的链接转换为http://localhost:8080/api/customer/1/addressAPI 调用,例如http://localhost:8080/api/address/23

0 投票
2 回答
485 浏览

spring - 生成的 HAL 自链接中缺少分页参数

我正在使用 Spring Boot (2.1.1) 自动创建我的JpaRepository接口的 HAL REST API。

在大多数情况下,这些接口是空的,例如:

当我打开我的 REST 基本路径时,会生成以下链接levels

当我关注时,http://localhost:8080/admin/levels?size=10我得到了预期的第 0 页及其 10 个元素。但给定的自我链接是:

我本来期望:

  • http://localhost:8080/admin/levels{?page,size,sort}或者
  • http://localhost:8080/admin/levels?page=0&size=10{&sort}

我不确定这是错误还是功能?是否有可能获得预期的行为?

我发现了有关该主题的以下问题:在可分页资源上生成自我链接时出错 但是给定的解决方案没有帮助,因为我已经在使用较新的版本。

更多信息(我为什么需要它?)

此行为会中断客户端上的后续链接流。如果用户想直接跳转到页面 X 或者他想改变页面大小,则必须重用原来的链接。不是一个很大的解决方法,但它不如模板和直接遵循给定的自我链接那么好。

0 投票
1 回答
297 浏览

amazon-web-services - 如何将 Hal+Json 与 AWS AppSync 结合使用

我的后端使用媒体类型 hal+json(rest api) 返回 json。这里的问题是 AWS AppSync 的速度解析器返回:

词法错误,遇到:\"_\" (95),之后:\".\" at unset [第 8 行,第 28 列]"

因为媒体类型节点以下划线开头,例如:

我相信 AppSync 使用的引擎抱怨以下划线开头的变量。

“配置请求映射模板”(AWS 编辑解析程序)

有谁知道如何解决这个问题?

0 投票
1 回答
299 浏览

spring - 跟随 rel-links 时,HAL 用单数名词而不是复数名词链接

我正在使用 Spring Boot (2.1.1) 自动创建我的JpaRepository接口的 HAL REST API。

在大多数情况下,这些接口是空的,例如:

一个实体Project包含许多Protocol实体。并且Protocol-entity 具有到它的Project-entity 的反向链接。

当我访问时,http://localhost:8080/admin/protocols/4711我得到了它的项目的链接:

但是当我点击该链接时,所有进一步的链接都生成错误:

链接中的错误是使用了单数名词project,而不是复数形式projects

由于这些链接是自动生成的,因此如何更改此行为并不明显。

0 投票
1 回答
53 浏览

spring-data-rest - 如何使用 Bowman 库访问 Spring Data Rest 响应_links?

在我的客户端,我使用 Bowman 库来使用 Spring Data Rest api。我试图在我的 hal+json 响应中访问我的 _links 节点的“上一个”、“下一个”、“最后一个”。

我怎样才能做到这一点 ?

我可以使用 @LinkedResource 注释访问我的客户端模型对象的 _links 节点,但是如何使用包含“prev”、“first”、“next”等的 _links 节点......

0 投票
3 回答
792 浏览

spring-boot - 如何从 Spring ResponseEntity 返回没有包装器的 JSON?

控制器返回 ResponseEntity

用户资源从 RestResource 扩展而来

当我调用其余 API 时,我得到

如果没有顶级包装,我如何获得它?像这样?

有趣的是,当我使用 Spring Data Rest 时,返回的数据实际上是后一种,但 SDR 也使用 Spring-HATEOAS。

0 投票
1 回答
90 浏览

json - 可编码的 HAL JSON 类型

有人有管理 HAL 类型 JSON 数据的流程吗?我遇到的问题是所有数据请求都将返回一个将其实际类型嵌入到“_embedded”键中的容器。我正在努力弄清楚如何从这种类型中解码出来,因为每个嵌入的键可能有多个 [Any HalTypes] 分配给它。例如,如果我请求菜单项或菜单类别,它将返回相同的总体结构。下面的 JSON 用于菜单类别。

例如,

模型

JSON

0 投票
1 回答
169 浏览

javascript - 如何将 HAL JSON 转换为 OpenAPI JSON 以生成 JavaScript 客户端 API

我们有一个生产 HAL JSON 的 Spring Data Rest 项目。我们希望自动生成基于 HAL JSON 的 JavaScript 客户端 API。我们可以使用 OpenAPITools/openapi-generator 非常简单地将 OpenAPI JSON 转换为 JS 客户端 API,但我们一直无法找到用于 HAL JSON 的类似工具。作为一种解决方法,我们正在探索将 HAL JSON 转换为 OpenAPI JSON 以利用 OpenAPITools/openapi-generator 项目。

是否存在 HAL JSON 到 OpenAPI JSON 转换器?

是否有 HAL JSON 到 JavaScript 客户端 API 生成器?

有没有办法跳过 HAL JSON 步骤并从 Spring Data Repository 类生成 OpenAPI JSON?

0 投票
0 回答
35 浏览

spring-hateoas - 如何使用 Spring HATEOAS Api 中的链接将对象添加到列表中

这是人的结果:

}

我正在尝试将人 2(Kerem)添加到组 1 的 adminList 中。

我试图将下面的人发布到“http://127.0.0.1:8080/api/groups/1/adminList”地址。

我得到了“204 No Content”结果,并且人员没有添加到 adminList。

如何使用链接将人员 2 添加到 adminList 中?

0 投票
1 回答
50 浏览

json - HAL json 中的参数化链接

假设我有一个GET /api/foos/{id}具有可选参数的端点:包含、查询、类型我应该为每个“用例”创建一个链接还是可以将其作为单个链接包含在内?

它应该看起来更像这样:

或者可能是这样的:

如果我也有与分页相关的链接,例如 next、prev 等,我是否也应该为它们包括这些模板?例如: