问题标签 [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 回答
1879 浏览

php - Laravel API 资源隐藏键

我有一个名为 的 API 资源FilmResource,我已将一个新属性附加到名为的模型is_new中,并将此新属性添加到资源文件中,问题是我有两个使用此 API 资源的端点并且它正在返回该属性对于两者,但我只希望它为一种方法返回,有没有一种方法可以指定要在响应中返回的某些键?如果我使用makeVisible它没有区别,因为它只来自 API 资源。

电影控制器

这是我希望它返回的方法,我有另一个类似的方法,但我不希望它为此返回。

电影资源

API 资源是否会覆盖您在隐藏/可见数组中设置的属性?

当您在控制器中返回密钥时,您能否指定要从 API 资源中隐藏密钥?

0 投票
3 回答
5837 浏览

php - Laravel API 资源:如何返回无限嵌套的类别数组及其子类别?

我使用 Laravel 6.x,下面是我的响应 JSON。

但它希望是这样的:

实际上,我想删除parent_id属性并将children数组添加到由其他对象组成的每个对象都有这个parent_id。

分类资源.php

类别控制器.php

我怎样才能实现这个结构?

0 投票
1 回答
151 浏览

php - 如何使用护照访问 API 资源控制器中的 Auth('api')->user()

我的控制器

路线

结果

结果显示不正确的值

我正在使用 vue.js 返回要通过我的收件人资源保存的值,我想将它与我的 user_id 一起保存,Auth::user()->id;不幸的是我的 user_id 总是为 0,因为我无法访问 Auth('api')->user( )-> id 在我的 API 资源控制器中

0 投票
1 回答
593 浏览

ruby-on-rails - 如何在仅 API 的 Rails 中保存嵌套的多对多关系?

在我的 Rails(仅限 api)学习项目中,我有 2 个模型,Group 和 Artist,它们与加入模型 Role 具有多对多关系,其中包含有关该关系的附加信息。我之前可以通过自己保存连接模型来保存 m2m 关系,但在这里我试图将关系保存为嵌套关系。我正在使用jsonapi-serializer gem,但没有与之结婚,也没有绑定到 JSON api 规范。让它发挥作用比遵循最佳实践更重要。

使用此设置,我在尝试保存时收到 500 错误并出现以下错误: Unpermitted parameters: :artists, :albumsActiveModel::UnknownAttributeError (unknown attribute 'relationships' for Group.)

我怀疑我的问题在于强大的参数和/或 json 有效负载。

楷模

控制器#create

控制器#group_params

序列化器

示例 JSON 有效负载

附加信息

知道我能够使用以下 json 和强参数的组合保存另一个模型可能会有所帮助。

0 投票
1 回答
203 浏览

ruby-on-rails - 如何在仅 API 的 Rails 中保存嵌套的一对多关系?

在我的 Rails(仅限 api)学习项目中,我有 2 个模型,Group 和 Album,它们具有一对多的关系。当我尝试使用嵌套的(已经存在的)专辑保存组时,我收到以下错误,ActiveRecord::RecordNotFound (Couldn't find Album with ID=108 for Group with ID=). 我正在使用jsonapi-serializer gem。下面是我目前的设置。任何帮助表示赞赏。

楷模

组控制器#create

GroupsController#group_params

序列化器

示例 JSON 有效负载

0 投票
1 回答
374 浏览

ruby-on-rails - 多态性和 jsonapi-resources 错误

我正在尝试使用jsonapi-resourcesRails 5 中的 gem 设置多态关联。

我有一个User模型,它有一个名为 的多态关联profile,它的类型可以是InspectorBuyer。以下是截断的模型:

users表中,有对应的profile_idprofile_type字段来表示与 和 的多态inspectors关联buyers。这一切都在我们当前的 Rails 设置中按预期工作,但是当我尝试使用jsonapi-resources.

现在对应的jsonapi-resources资源和控制器(根据指示):

据我所知,现在应该正确设置所有内容,但是在到达端点时出现以下错误:

当深入relationship.rb研究堆栈跟踪中提到的内容时,它看起来无法解析多态类型,所以我尝试了以下方法:

但是,唉,另一个错误:Can't join 'User' to association named 'inspector'; perhaps you misspelled it?

在此先感谢您提供有关此设置的任何帮助!

0 投票
0 回答
133 浏览

ruby-on-rails - 在 Rails 中使用 JSONAPI::Resource 从 JSON 响应正文中解析数组

所以我得到了两个 Rails 6 应用程序:

  • 后端(仅限 API)

    • gem 'jsonapi-resources', '~> 0.9'
    • gem 'jsonb_accessor', '~> 1.0'
  • 前端

    • gem 'json_api_client', '~> 1.18'

在后端部分,我设置了一个模型(Car),它有一个 jsonb 字段来保存属性(例如设备)。模型的相关部分如下所示:

然后,在前端我设置到这个模型的连接,如下所示:

然后,当我通过此连接进行创建调用时,数组内请求中存在的所有值都会消失。所以这样做:

Api::Car.create({safety_features: ['ABS']})

最终将获得新的汽车记录

Car.last.safety_features #=> []

这只发生在数组内的值上。所有其他值(字符串、整数等)都会正确传输。

我觉得我只是在某处缺少配置。任何帮助深表感谢。

0 投票
1 回答
25 浏览

ruby-on-rails - 不同 ResourceController 的共享资源

jsonapi-utils( jsonapi-resources) 需要一个序列化器(资源)ResourceController

例子

在这个例子中BarController应该使用FooResource. 是否可以定义序列化程序?

0 投票
0 回答
81 浏览

ruby-on-rails - 有没有办法使用带有 rswag 的 jsonapi-resources 来生成 Swagger API 文档?

我的目标:-

  • 确保我们的 Rails API 遵循 json-api 标准/格式
  • 我不想手动自定义每个端点来格式化它以满足上述标准,这就是我想使用的原因jsonapi-resources
  • 我想为我们的应用程序开发人员 ( rswaggem)提供 Swagger API 文档

jsonapi-resourcesgem 和gem 都提供了我需要的rswag东西,但根据我的搜索,它们似乎并没有一起工作。

到目前为止,我发现的只是这个 gem - https://github.com/superiorlu/jsonapi-swagger - 但它不是很活跃/受欢迎。

我想要达到的目标是可能的吗?如果是这样,任何人都可以建议他们是如何实现这一目标的吗?

0 投票
1 回答
138 浏览

api - JSON:API 规范 | 外部标识符

我们有一个 JSON:API 允许用户对各种类型的资源对象进行 CRUD。我们希望对我们的服务进行增强,客户端应用程序可以通过调用维护良好的外部标识符来访问对象,而无需直接引用 ID。这个事情谁有经验?

用例:

ID:1000002 External_ID:hr1234

目前,您将向 URL 发出请求:GET https://examplefirm.saas.com/api/v1/person/1000002

如何使用 External_ID:hr1234 访问 ID:1000002 而无需先进行查找?