Ruby on rails JSONAPI是用JSONAPI资源响应非资源数据(如访问令牌)的最佳方式
我正在实现这个API,我做的第一件事就是使用访问令牌登录。我正在使用jsonapi资源宝石 我现在有两个问题。我希望在成功的情况下返回用户和生成的访问令牌,否则返回失败消息 现在我有两个问题: 1-第一个问题是,如何返回此类数据(用户记录加上访问令牌)。阅读JSONAPI规范,我相信一个Ruby on rails JSONAPI是用JSONAPI资源响应非资源数据(如访问令牌)的最佳方式,ruby-on-rails,ruby-on-rails-4,json-api,jsonapi-resources,Ruby On Rails,Ruby On Rails 4,Json Api,Jsonapi Resources,我正在实现这个API,我做的第一件事就是使用访问令牌登录。我正在使用jsonapi资源宝石 我现在有两个问题。我希望在成功的情况下返回用户和生成的访问令牌,否则返回失败消息 现在我有两个问题: 1-第一个问题是,如何返回此类数据(用户记录加上访问令牌)。阅读JSONAPI规范,我相信一个复合文档将是一个不错的选择,但是如何使用这个gem呢 2-使用此gem,我如何响应非CRUD路由(如登录)?我必须在控制器里做些什么吗?在这种情况下,如何处理资源对象?没有非资源数据这样的东西。您可以根据资源对几
复合文档将是一个不错的选择,但是如何使用这个gem呢
2-使用此gem,我如何响应非CRUD路由(如登录)?我必须在控制器里做些什么吗?在这种情况下,如何处理资源对象?没有非资源数据这样的东西。您可以根据资源对几乎所有内容进行建模
这些资源不必直接映射到表,甚至不必作为可识别的实体存在于持久性层中。从api使用者的角度来看,资源表示是否是实际的数据库行或文档,或者是根据需要变出的完全抽象的实体,这几乎是不相关的
使用JR实现抽象资源非常简单,并且受支持:
抽象资源
不受模型支持的资源(纯粹用作基类
对于其他资源),应声明为抽象
因为抽象资源不希望得到模型的支持,所以它们
不会尝试发现模型类或其任何关系
现在,回到您的用例:
这可以建模为与用户资源(多对一关联)相关的AuthToken资源(具有单个属性)。在您的情况下,您的用户资源可能与AuthToken资源一起包含在同一API响应中
同样,如果您围绕资源对整个域进行建模,那么任何和所有操作都可以建模为CRUD操作。登录只是创建一个UserSession资源
JSON:API规范包含相关资源:
列入相关资源
端点可以通过以下方式返回与主数据相关的资源:
默认
端点还可以支持include请求参数,以允许
客户端自定义应返回哪些相关资源
JR也提供了此功能。两个问题-1.)在查询用户时,为什么要返回访问令牌(您应该将其存储在客户端的某个位置)和2。)您使用什么进行身份验证(即Desive、OAuth等)?