问题标签 [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.
ruby-on-rails - Json API 资源 | 对象数组的响应
我在我的项目中使用 json api 资源 gem。
我已经设置了一个简单的资源
在我的控制器中,我从服务中获取了一组 ExpectedPayments 对象
我现在需要以expected_payments
json api 格式返回。所以据我了解,我应该使用序列化程序
我这样做
我得到<NoMethodError: undefined method 'id' for <Array:0x005642734fa6f8>>
然后我尝试了:
这适用于数组中的第一个对象。
文档说“有ResourceSerializer
一种serialize_to_hash
方法可以将资源实例或资源实例数组序列化。”
如何让它与一组资源实例一起工作?我在文档中看不到任何示例。
ruby-on-rails - jsonapi-resources 有条件地禁用分页器
我在我的 Rails 应用程序中使用jsonapi-resources gem 。我的资源之一是使用pagination。在某些情况下,我想禁用分页并确保用户将取回所有结果。
我尝试使用一些自定义过滤器进行自定义实现,但失败了。
我尝试将“奇怪”的值传递给分页器,但这没有帮助(分页器的示例):
/api/v1/bars?page[size]=-1
- 不允许的值/api/v1/bars?page[size]=0
- 不允许的值/api/v1/bars?page[size]=999999
- 当然,这可能有效,但它是 100%
ruby-on-rails - JSON API 资源关系属性
我有两个相关的模型:
和
我尝试使用 JSON API Resources gem 打开轮播 API,我需要显示轮播属性和一些项目属性,如下所示:
我的轮播资源:
我的结果:
ruby-on-rails - 向 Rails 发出 Angular 请求时,Access-Control-Allow-Origin 出错
我正在使用 Angular 2 发出 API(rails) 请求。当我通过 Angular 发出 http 请求时,出现以下错误: XMLHttpRequest cannot load https://api-url。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“ http://localhost:4200 ”。响应的 HTTP 状态代码为 404。但是,如果我尝试通过 Postman 或浏览器本身发出请求,我不会收到任何错误。数据正常显示角码:
在我的 Rails 服务器中,我使用 gem 'jsonapi-resources' 打开 AP。在我的 api 控制器中,我有这个代码来验证和设置请求头:
当我在浏览器中发出请求或使用邮递员时,标题正常显示,但在 Angular 中我有错误。
ruby-on-rails - 在仅 Rails 5 API 的应用程序中使用 Ransack
我最近开始研究一个仅限 Rails 5 API 的应用程序,我包含jsonapi-resources
并ransack
轻松过滤任何给定请求的结果。默认情况下,jsonapi-resources
提供基本的 CRUD 功能,但为了插入搜索参数,ransack
我需要覆盖控制器中的默认索引方法:
现在,这工作正常,但它不再用于jsonapi-resources
生成 JSON 输出,这意味着输出更改为:
默认 Rails JSON 输出:
在此控制器中修补索引方法时,如何保持原始输出结构?
json - 使用邮递员发送 json api 对象
我正在使用 JSONAPI 规范http://jsonapi.org/format/#status
我有如下数据,
如何使用 postman chrome 扩展向端点发出 post 请求?
我正在尝试拨打电话,但无法获取参数。
观察。我已经将我的 Content-Type 设置为application/vnd.api+json
谢谢 !
ruby-on-rails - JSON API 删除“拥有并属于许多”关系
我正在使用 jsonapi-resources gem 为类似购物车的东西构建一个 API,我需要一个端点来从购物车中删除一个项目。
目前,我假设使用此 API 的客户端不需要实际的“购物车项目”。相反,它只需要购物车中的产品列表。
但是,似乎没有任何方法可以在不知道该事物 ID 的情况下删除 jsonapi-resources 中的某些内容。即,如果客户不知道连接模型的 ID,就无法从购物车中删除某些东西。
基本上我需要一个执行以下操作的端点:
DELETE http://example.com/carts/1/cart-items?filter[product]=1
相反,我能找到的唯一选择是
DELETE http://example.com/cart-items/1
或者,我可以实现一个自定义操作来处理这个问题,但我已经浏览了文档,但找不到编写自定义操作的规定方式。
ruby-on-rails - 应用多个过滤器 JSON API 资源
只是一个我无法弄清楚的简单问题。我想在rails JsonApiResources
. 这是我的资源代码。
这是我打电话的网址。
但它不调用此代码,而是self.records
调用。但是,如果我将代码更改为仅支持一个参数,假设:start_date
并更改filters
为filter
上面的代码和 url,那么它将正常工作。
jsonapi-resources - JSONAPI 资源:具有多态关联的 has_one/many
我有一个模型Order
,其地址如下:
模型中的字段示例Address
如下:
我定义了一个AddressResource
,但我不知道我OrderResource
应该是什么样子。在这种情况下:
不起作用。
如果我添加?include=destination_address
到订单的 URL,我会得到:
我?include=pick_up_addresses
得到:
我查看了定义关系的文档(http://jsonapi-resources.com/v0.9/guide/resources.html#Relationships),但我不确定这些选项中的任何一个都定义了我在这里需要什么。
PS - 尝试添加polymorphic: true
仍然会产生以下错误:
hibernate - Katharsis:如何为 jpa 实体设置资源类型?
我在我的项目中使用带有 spring boot 的 Katharsis,我的问题是 Katharsis-jpa。kathasis 似乎忽略了 @JsonApiResource 注释或不应用指定类型的映射。
我目前有两个课程:一个是我的实体用户:
第二个是我的 jpa 存储库:
然后我的 application.properties 文件如下:
问题分为两部分:-获取数据的 url:http://localhost:8080/users不起作用,-json api 序列化的字段是驼峰式而不是破折号
然后,如果没有 kathasis-jpa 模块(例如使用简单的 ResourceRepositoryBase),注释 @JsonApiResource 可以正常工作。
有人知道吗?