首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSONAPI响应非资源数据的最佳方法,如使用jsonapi-resources的访问令牌。

JSONAPI响应非资源数据的最佳方法,如使用jsonapi-resources的访问令牌。
EN

Stack Overflow用户
提问于 2016-06-07 17:04:36
回答 1查看 1.2K关注 0票数 3

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

我现在有两个问题。如果成功,我希望返回用户和生成的访问令牌,否则返回失败消息。

现在我有两个问题:

第一个问题是,如何返回这类数据(用户记录加上访问令牌)。阅读JSONAPI规范,我相信compound document是最好的选择,但是我如何使用这个宝石来实现它呢?

2-我如何回应,用这个宝石,一个非CRUD的路线,如登录?我必须在控制器里做些什么吗?在这种情况下,我如何处理资源对象?

EN

回答 1

Stack Overflow用户

发布于 2016-06-07 17:38:00

没有所谓的非资源数据。你几乎可以从资源的角度来建模所有的东西。

这些资源不必直接映射到表,甚至不必作为持久性层中的可标识实体存在。从api使用者的角度来看,无论资源表示是否是实际的数据库行或文档,还是完全抽象的实体,都与需求无关。

使用JR实现抽象资源非常简单,并且支持从盒子里出来

抽象资源 不受模型支持的资源(纯粹用作其他资源的基类)应该声明为抽象资源。 因为抽象资源并不期望得到模型的支持,所以它们不会试图发现模型类或它的任何关系。

现在,回到您的用例:

  1. 可以将其建模为与(多对一关联)用户资源相关的AuthToken资源(具有单个属性)。在您的情况下,您的用户资源可能与AuthToken资源一起包含在同一个API响应中。
  2. 同样,如果您围绕资源对整个域进行建模,则可以将任何和所有操作建模为CRUD操作。登录只是创建一个UserSession资源。

JSON:API规范允许包含相关资源:

列入相关资源 默认情况下,端点可能返回与主数据相关的资源。 端点还可以支持包含请求参数,以允许客户端自定义应该返回哪些相关资源。

这个特性也是全力支持 by JR。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37685251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档