问题标签 [jsonapi-resources]

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

ember.js - 如何将 Ember Data 自定义 api 与 json-api 一起使用?

在我使用之前json-api,我像这样自定义 ember 数据 api:

但是我用的时候json-apidata: {...}比较复杂,必须自己编json。

它有最好的方法来解决这个问题吗?谢谢。

0 投票
3 回答
1162 浏览

ruby-on-rails - 如何在 Rails 中使用 jsonapi-resorces gem 实现嵌套资源?

我有一个帖子资源和一个用户评级资源。

在我的routes.rb中,我将用户评分嵌套在帖子中:

这已经正确地暴露了端点/posts/{id}/user-ratings

但是,当使用 测试此端点时{id},它会返回 all user-ratings,而不仅仅是user-ratings与该帖子 ID 相关联。

在我的帖子资源中,我尝试添加:has_many :user_ratings,在用户评分中我尝试添加:has_one :post

在我的模型中,我添加了has_manybelongs_to

然而,我没有尝试过让 api 只返回与特定帖子 ID 关联的用户评分。

任何见解将不胜感激,谢谢。

0 投票
2 回答
464 浏览

ruby-on-rails - 在 jsonapi-resources 中创建单一资源

使用 jsonapi-resources gem(和 Rails 4),我试图创建一个单数(或单例)资源(不为标准显示、更新和删除请求提供 url 上的 id),在我的情况下用于配置文件当前(登录)用户,所以我可以做一个'GET /profiles'而不是'GET /profiles/:id'。

我已将单数路由添加到 config/routes.rb 文件:

jsonapi_resource:配置文件

根据文档https://github.com/cerebris/jsonapi-resources#jsonapi_resource

那么如何修改资源(ProfileResource)以将 id 映射到 current_user(通过上下文)?

现有的演示应用程序没有演示使用单一资源,并且似乎没有任何文档(明确)解决这个问题。

0 投票
1 回答
297 浏览

sql - JSONAPI 资源,需要最后一条记录的过滤器

所以我正在考虑为 JSONAPI 资源创建一个过滤器,我将在其中抓取过去 10 分钟内创建的任何内容,如果有内容,则只返回一个结果。

问题,当我在返回的记录上调用 .last(1) 时出现错误:

我的不间断查询是这样的:

有什么帮助吗?我想在 Rails 端执行此操作,而不是在我们的前端处理大量结果(或没有结果)。谢谢!

0 投票
2 回答
380 浏览

ruby-on-rails - 使用 JSONAPI Rails gem 在创建/编辑时更改或添加模型的属性

我试图弄清楚如何使用这个jsonapi-resources gem,但我发现它非常困难。

假设我刚刚提交了一个对象,例如:

但是我想保存在数据库中的是:

换句话说,我想拦截创建或更新并添加或更改正在发送的数据。

在我的特殊情况下,我得到了一个“类别”模型,如下所示:

控制器

模型

资源

路线

例如,如何将 slug、short-name、last_update 添加到 Category 模型(假设它没有被客户端传递)?

0 投票
2 回答
686 浏览

ruby-on-rails - 命名空间 JSONAPI 资源和控制器

我正在尝试将命名空间添加到我的“类别”控制器和资源中。

所以我做的第一件事就是移动categories_controller.rbtoapp/controllers/api/v1/categories_controllercategory_resource.rbtoapp/resources/api/v1/

然后我将这些工件重新声明如下:

控制器

资源

routes.rb我将类别路线移至

我已经有不同的错误试图解决这个问题。对于当前配置,这是我得到的错误:

JSONAPI:找不到资源“类别”。(找不到类 CategoryResource)(NameError)

我究竟做错了什么?

0 投票
1 回答
805 浏览

ruby-on-rails - JSONAPI Resources gem在添加命名空间后找不到资源

我试图命名我的资源和控制器,但现在当我尝试运行我的服务器时,它不断收到此错误:

JSONAPI:找不到资源“类别”。(找不到类 CategoryResource)

控制器/api/v1/categories_controller.rb

资源/api/v1/category_resource.rb

我不知道是什么触发了这个错误。我什至从routes.rb

路线.rb

这是在我将文件从 和 的根目录controllers移动resourcesapi/v1. 我的项目有什么问题?

0 投票
0 回答
270 浏览

ruby-on-rails - 使用 Doorkeeper 和 JSONAPI 设置简单的注册/登录

短篇故事

我很难将 Doorkeeper 添加到我正在工作的 JSONAPI 项目中。

由于我是新手,我认为最大的问题之一是对框架的理解。

基本上我需要任何进一步的请求来包含 AccessToken,以便我可以授权他们使用我的应用程序。前两件事当然是注册和登录。

经过一番阅读,我发现 Doorkeeper 假设(正确吗?)一个资源服务器和一个授权服务器。但我是他们俩。这让我发疯了。

我不完全知道我必须做什么以及什么是可选的,因为每个实现似乎都有自己的特性和差异。

问题从这里开始

所以按照本指南https://github.com/doorkeeper-gem/doorkeeper/wiki/Interacting-as-an-OAuth-client-with-Doorkeeper

我首先创建了一个应用程序(我相信我必须自己创建一个应用程序)并提供了一个Redirect URI尚未创建的应用程序(我添加了http://localhost:3000/panel,但没有任何响应)。我留下了scopes空白。

然后指南提到了一个client_id......我假设它是应用程序生成器提供的*应用程序 id*。

它还提到了我仍然不拥有的授权代码。显然我需要“授权”该应用程序。有一个“授权”按钮,但是当我单击它时会引发错误

失败“请配置位于 #{ FILE } 中的门卫资源_所有者_身份验证器块”

并且配置文件initializers/doorkeeper.rb都被注释掉了。但是官方指南(https://github.com/doorkeeper-gem/doorkeeper#configuration)没有提到任何配置。

Doorkeeper的基本配置是什么?关于我的项目的任何其他见解对我有帮助吗?

@编辑

好吧,我设法领先一步。删除错误所在的行并取消注释同一块的最后一行

错误发生变化。现在它说它不承认这个变量new_user_session_url。更改为此视频中建议的:

https://www.youtube.com/watch?v=zN9BylV81rw

routes.login_url并且只有login_url(说routes没有定义)也没有用。还是同样的错误。

我想我又回到了我的第一个问题。我不确定这是可选的,什么不是,以及默认创建的 gem 以及我必须自己做的事情。

此时我需要做什么?

0 投票
1 回答
161 浏览

ruby-on-rails - jsonapi-resources:密钥不包含在 URL 中

在测试我的控制器(使用jsonapi-resources)时,更新时我遇到了这个错误。

发出请求的代码示例

我只是在编写基本的 ActionController::TestCase 测试。update_attributes 方法遵循以下格式:

0 投票
1 回答
1107 浏览

ruby-on-rails - JSONAPI 响应非资源数据的最佳方式,例如使用 jsonapi-resources 的访问令牌

我正在实现这个 API,我做的第一件事是使用访问令牌登录。我正在使用 jsonapi-resources gem https://github.com/cerebris/jsonapi-resources

我现在有两个问题。我想在成功的情况下返回用户和生成的访问令牌,否则返回失败消息。

现在我遇到了两个问题:

1-第一个是,我怎样才能返回这种数据(用户记录加上访问令牌)。阅读 JSONAPI 规范,我相信compound document这是一条可行的路,但我怎么能用这个 gem 做到这一点

2-如何使用此 gem 响应登录等非 CRUD 路由?我必须在控制器中做点什么吗?在这种情况下如何处理资源对象?