问题标签 [json-api]

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 回答
592 浏览

rest - 一个支持 HATEOAS 的 EmberJS 数据存储适配器

我正在创建一个应用程序,我真的希望它遵循HATEOAS REST 要求,非常 RESTful。在前端,我正在考虑使用 Ember,因为它似乎与我喜欢构建前端应用程序的方式非常一致。不幸的是,内置的 REST 数据源适配器似乎不理解如何导航遵循 HATEOAS 的 API - 我必须根据 ID 指定数据,而不是通过 URL。

Google 没有帮助我 -有人知道支持 HATEOAS的数据适配器吗如果没有,我会尝试建造一个,但我不想浪费时间!

0 投票
2 回答
1339 浏览

rest - 使 Jersey RESTful 服务器兼容 Ember Data 和 JSON API

我目前运行的服务器提供这样的数据:

单一实体

实体清单

但是,Ember Data 期望数据遵循JSON API 规范,格式为

否则它将返回错误:

我目前有一个responseFactory将响应构建为映射,其中键是 ember 模型(“用户”/“用户”)实体/列表和值是列表/实体本身

有没有更好/更清洁的方法?

0 投票
7 回答
831 浏览

javascript - 使用仅 JSON API 的 Web 应用程序的基础架构和国际化

这是我打算构建的:有一个服务提供数据,只有RESTful的JSONAPI。服务器设置是Python+ Flask。有几个客户端在使用此 API,例如普通的 Web 应用程序、移动兼容客户端和 Facebook 应用程序。

现在,我的假设/决定:

  • 我决定服务器只通过 提供数据JSON,从而将演示文稿完全交给客户端。
  • 我希望使 Web 应用程序与移动设备兼容,从而无需单独的移动客户端。
  • 此外,对于 Facebook 应用程序,我决定使用 Facebook Canvas,它可以渲染普通 Web 应用程序的部分内容,从而重用代码。如果上述假设有任何问题,请随时纠正我。虽然上述在理论上是可能的,但我想知道实际实现是否可行。

现在,Web 应用程序在从服务器获取基本页面/模板后,必须在通过JSONAPI 获取数据后动态处理渲染。数据很简单:多选项问题,回答哪个用户收到另一个问题。最后,用户可以分享结果或邀请其他用户。

有了这个设置,我需要一个类似的框架angularjs还是jQuery足够了?

我主要关心的是如何处理国际化?我最初打算让用户Flask-Babel国际化 HTML 模板。但是,在只关注 JSON API 之后,我不知道我现在如何/在哪里处理它:在客户端还是服务器端?我使用什么工具?

我能想到的一种方法是在服务器本身上有不同语言的数据,并根据客户端在请求中发送的某些属性,以适当的语言发送带有数据的 JSON 响应。

另一种方法是让客户端对服务器发送的公共数据集进行所有翻译。不过,我不确定这种方法。

0 投票
1 回答
602 浏览

wordpress - wordpress json api phonegap 车把 custom_fields

我正在使用 wordpress 的“json-API”插件,我正在尝试将该信息调用到 phonegap 应用程序中。

我正在关注http://alexbachuk.com/wordpress-and-phonegap-part3/上的帖子,我正在尝试找出如何在我的内容中调用 custom_fields。

我在 ajax 请求中包含了这样的自定义字段:' http://www.example.com/?json=get_recent_posts&custom_fields=store-icon '。

ajax 请求如下所示:

模板目前看起来像这样:

我将如何将其插入到我的 html 中。alexbachuk.com 帖子使用把手解析 json,因此帖子标题输出为 {{title}},缩略图输出为 {{thumbnail}}。有没有办法以类似的方式输出 custom_fields?

0 投票
2 回答
4632 浏览

json - 为什么仅为 POST 请求/201(已创建)响应设置 HTTP 位置标头?

暂时忽略 3xx 响应,我想知道为什么 HTTP 位置标头仅与 POST 请求/201(已创建)响应一起使用。

来自RFC 2616 规范

对于 201(已创建)响应,位置是请求创建的新资源的位置。

这是一种广泛支持的行为,但为什么不应该将它与其他 HTTP 方法一起使用呢?以JSON API 规范为例:

它为 JSON 有效负载中的当前资源定义了一个自引用链接(对于 RESTful API 来说并不少见)。此链接包含在每个有效负载中。规范说,如果您通过 POST 创建新文档并且该值与有效负载中的自引用链接相同,则必须包含 HTTP 位置标头,但这在 POST 中需要。如果您可以只使用 HTTP 位置标头,为什么还要为自引用链接使用自定义格式?

注意:这并不特定于 JSON API。HALJSON Hyper-Schema或其他标准也是如此。

注意 2:它甚至不是特定于 HTTP 位置标头,因为它与 HTTP 链接标头相同。如您所见,JSON API、HAL 和 JSON Hyper-Schema 不仅定义了自引用链接的约定,还表达了有关资源的相关信息或资源的可能操作。但似乎他们都可以只使用 HTTP 链接头。(如果他们不想使用 HTTP 位置标头,他们甚至可以将自引用链接放入 HTTP 链接标头。)

我不想咆哮,这似乎是某种“重新发明轮子”。它似乎也非常有限:如果您只使用 HTTP 位置/链接标头,那么您是否在 HTTP 接受标头中要求 JSON、XML 或任何内容都没有关系,您将获得有关您的资源的有用元信息一个 HEAD 请求,如果您使用 JSON API、HAL 或 JSON Hyper-Schema,它将不包含链接。

0 投票
0 回答
207 浏览

wordpress - wordpress json api xmlrpc

我想使用这个 Wordpress JSON API 插件来开发我的移动应用程序,但是当我启用这个插件时,WP 网站内容以 JSON 格式向世界开放。

有没有办法将 JSON API 仅限于选定的源?即只允许 WP 站点的 JSON 输出到我的域或 IP 地址?

我打算在 WP 的 .htaccess 中使用以下内容

这种方法会限制 JSON 访问吗?或者让我知道一种更好的方法来允许仅允许访问 WP JSON API 到允许的来源。

0 投票
2 回答
8678 浏览

python - 如何查找 JSON 列表中的哪个项目对于 Python 中的给定属性具有最大值?

我正在使用来自SFG WorldCup API的 JSON 数据。

我需要做的是找到给定球队在给定比赛中的最新进球。为此,我需要按attribute作为属性的属性的数组的每个元素中的键值进行排序away_team_events

让我来说明一下。

这是正在进行的(在撰写本文时)法国诉瑞士的法国 JSON 示例。

所以我需要在这里做的是找到最大的“id”属性,因为那将是最新的目标。

如何按这样的特定属性排序?

我已经看过这个问题,但我无法真正理解答案。

编辑:改写一下,很抱歉造成混乱。

我不需要重新排列它们,但是我如何确定列表中的哪个项目具有最大的 id,并使用它?

0 投票
1 回答
231 浏览

json - 是否有用于创建完整 API 的 cakephp 组件?

我正在尝试为多个模型构建一个 RESTful api。

我找到了这个:

但我试图避免在我需要创建的每个控制器中重复所有这些方法。我一直在寻找一个组件来执行我可以包含在每个控制器中的所有 CRUD 操作。

1)这样的组件是否存在?2)当我应该为每个模型复制这个基本控制器时,我是否过度使用了这个东西?

0 投票
0 回答
42 浏览

php - 将 20 个远程文件写入缓存 php 的更快方法

我目前有这个代码。它从 api 获取每小时的 json 数据文件和全天的文件。然后它缓存结果以便更快地获取。目前,获取所有文件并使用它们需要 ~10 秒(无缓存),使用缓存执行需要 ~1 秒,但当缓存过时时,使用以下方法(使用缓存)需要 ~80 秒。显然还有其他代码正在运行,但这是缓慢的一点。$this->hours有 24 个元素。

有没有更快的方法来获取文件并缓存它们?

0 投票
1 回答
1463 浏览

java - JSON 文档的 POJO 中的示例数据

我正在尝试记录我的 JSON API。我的 API 返回由 Jackson 序列化的 Java POJO。我正在编写一个服务来为每个服务返回示例 JSON。我想做的是这样的:

我需要一些方法让杰克逊将其序列化为:

当我需要一个例子时。

实现这一目标的最简单方法是什么?