问题标签 [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 投票
0 回答
168 浏览

ember.js - 在 Ember 中使用自定义序列化程序和来自 Apigility 的 hal json

所以我正在构建我们网站的前端,长话短说,我们的 API 调用的位置是通过apigility。我对 Ember 还很陌生,所以我不得不将很多信息拼凑在一起,以找到完成这项工作的最佳方式。apigility 设置为提供 REST 服务,但输出格式如下:

首先,因为我只是在尝试进行概念验证,所以这是我的序列化程序:

我还在为我的适配器使用 RESTAdapter。

最后是我的 article.js 模型

它目前给我的错误是:

从那个错误中,我觉得它正确地从我的 api 调用中获取了“文章”部分,但 primaryKey 部分似乎没有生效。

如果我删除我的序列化程序的内容,我会得到以下错误列表:

让我知道是否需要包含任何其他信息/代码。

编辑

注意:API 开发人员确实将其从“nid”更改为“id”

有时你只需要从头开始,对吧?

这就是我的序列化程序现在的样子,它按预期工作:

0 投票
2 回答
1040 浏览

spring-data-rest - 如何使用 @FeignClient 映射 HAL JSON _embedded 集合

我们正在尝试使用 spring-cloud@FeignClient从另一个微服务调用微服务的 HAL-JSON REST API。该服务使用 Spring Data Rest、Spring Boot 1.4 实现,默认启用 Hateoas。

在客户端使用专用 DTO,所有简单属性都被正确映射,但 HAL 特定_embedded集合被忽略。

主要取自这篇文章,我们使用经常提到的 实现了一个Decoder带有相应的自定义 Feign ,但这仍然不能解决我们的问题。ObjectMapperJackson2HalModule

您可以使用此示例项目重现该问题,其中更详细地描述了该问题。

我们感谢有关此问题的任何帮助或提示!提前致谢

0 投票
1 回答
781 浏览

android - Android/改造 HAL JSON 支持

我在我的 Android 项目中使用 Retrofit 来处理 REST Web 服务调用。现在我需要添加对 HAL JSON 的支持,以便能够将项目动态添加到我的列表中(在 scool 上加载更多内容)。HalJson:http ://stateless.co/hal_specification.html

有人知道如何用改造来处理它吗?

0 投票
1 回答
1735 浏览

java - 当页面没有元素时返回一个空的“内容”数组

AbstractRepositoryRestController#entitiesToResources来源:

"content"当页面没有元素时,Spring Data REST 会在节点中放入一个包含无用信息的对象(在我看来),例如:

  1. 提供该信息的想法/目的是什么?
  2. 有什么方法可以在什么"content": []时候返回一个空数组page.getContent().isEmpty()
  3. 如果不可能,那么客户应该如何处理这种意想不到的格式?

他们解析content对它的迭代,并将每个元素映射到某个域实体。由于它不是域实体,因此它们失败了。获取第一个元素并检查是否存在某些特定字段(例如relTargetType)看起来很脏,不是吗?

0 投票
0 回答
987 浏览

json - Wordpress REST API 使用 Content-Type:application/json 与 Content-Type:application/json+hal

我已经使用 Wordpress REST API(本机)构建了一些自定义路由,并希望使用 HAL 来减少服务器请求的数量。

  1. HAL 会这样做吗(我的前提是否正确)?

我当前的标题 Content-Type 是“application/json”。此外,在默认路由上使用 &_embed 参数时,Content-Type 仍为“application/json”。

  1. 这是否意味着 HAL 结构无效?
  2. Content-Type 是否需要为 application/json+hal 才能有所作为?
  3. 如有必要,如何更改 Content-Type?

本文档——HAL——超文本应用语言——声称:

HAL 具有 JSON 和 XML 变体的媒体类型,其名称分别为 application/hal+json 和 application/hal+xml。

通过 HTTP 提供 HAL 时,响应的 Content-Type 应包含相关的媒体类型名称。

我不确定如何解释这些信息。

我在哪里可以找到有关测试 HAL 是否有所作为的好信息?

0 投票
0 回答
3363 浏览

spring-boot - spring-hateoas 与 `use-hal-as-default-json-media-type=false` 默认仍响应 `application/hal+json`

我想默认禁用 HAL 格式。

流文档,我设置了这个属性。

然后测试它:

1. 带标头的请求Accept: application/json

标题:Content-Type: application/json;charset=UTF-8

回复:

2. 请求有标头Accept: */*或无Accept标头。

标题:Content-Type: application/hal+json;charset=UTF-8

回复:

的版本spring-boot是1.5.3,我用spring-boot-starter-hateoas.

无论如何,当没有指定标头时,让hateoas 响应没有 HAL 的 json 吗?

非常感谢。


更新:

这是一个基于spring.io 指南的示例。

请求:http://localhost:8080/greeting

带有 header 的请求Accept: */*

带有 header 的请求Accept: application/json

默认情况下我不想要 HAL,所以我resources/application.properties在项目中添加了一个配置文件。

并再次测试。

带有 header 的请求Accept: */*

带有 header 的请求Accept: application/json

0 投票
1 回答
70 浏览

json - 休息。比较两个 JSON 表示

我有一个标签系统:

标签

  • ID
  • 姓名
  • 儿童标签

所以它们可以嵌套(最大深度 3)

例如:

  • 食物
    • 餐厅
    • 快餐
    • 中国菜
  • 药物
    • 医院
    • 药店
  • 娱乐
    • 极端
      • 滑雪
      • 溜冰
    • 家庭

我有一些带有标签的资源。

地方

  • ID
  • 姓名
  • 标签

而且我有几个端点:

/api/tags

/api/place/1

因此,当标签本身被列为嵌入式资源时,我不希望标签具有嵌入式资源,但是由于不包括嵌入式子项,我最终得到了具有相同 SELF 链接的相同数据的两种不同表示形式,客户应该如何比较它们?比较 SELF 链接会起作用,但缺少一种表示children

0 投票
1 回答
428 浏览

firefox - Firefox 中的 Hal+json 查看器

Firefox JSON 查看器在类型为“application/json”时显示,但在给定“application/hal+json”时提示下载文件。这过去可以通过仅使用JSON View扩展来避免 - 但目前 Quantum 不支持。

我可以做些什么来让 Firefox 渲染 hal+json 吗?

0 投票
2 回答
2814 浏览

json - Angular - 将 HAL 转换为 JSON

以下服务从 REST 服务中提取类别对象,该服务以 HAL 格式返回它们。现在我尝试将该响应转换为 JSON。为此,我搜索并尝试了不同的解决方案,例如chariotsolutions左右。有些是基于 '@angular/http' 的响应,它已被弃用,我无法正常工作。

我该如何进行转换?

作为 HAL 的响应

0 投票
0 回答
379 浏览

android - 当关系为空时,如何使用 Retrofit 2 使用 Spring Data Rest API 响应?

我正在开发 Android 应用程序,并且正在使用 Spring Rest Data 编写后端。

设想:

假设我想列出用户最喜欢的产品。我需要GET /v1/users/4/favoriteProducts在标题中调用提供访问令牌。如果用户有最喜爱的产品,我会得到如下响应:

我可以毫无问题地反序列化它,我得到HalList包含三个产品的对象。我的改造服务调用如下所示:

和我的HalList班级:

但如果我没有任何最喜欢的产品,我会得到这样的东西:

当我用 Retrofit 解析这个对象时,我得到的HalList对象content包含一个 Product 类实例,所有值都设置为 0 或 null 或 false,具体取决于类型,这会产生问题..

我已经TypeAdapter为 Gson 编写了这个,以便在基于 json 的空列表为空的情况下用空列表覆盖内容

但我不确定这是否是正确的解决方案,还有更优雅的解决方案吗?还有什么可以在后端完成以返回这样的空列表:

编辑:最终解决方案

我不喜欢让 Gson 的委托适配器解析响应然后检查 json 字符串并使用反射将其更改为空列表的想法。在反序列化之前,我改变了修改 json 响应的方法: