2017-06-16 23 views
0

我正在为我的网站构建jsonapi,并且在查看我遇到的各种前端组件时 https://github.com/dixieio/redux-json-api/tree/master/docs 似乎直接从资源解析端点URL类型JSONAPI应该端点URL完全匹配资源的类型

它是规范/建议的一部分,使端点通过资源类型解决exactl问题?我记得阅读评论说明没有一个实际的type命名约定。

我的API有不同类型的用户的注册几个端点

/registration/admin 
/registration/customer 
etc. 

这些终端有不同的业务逻辑关联,但它们都返回一个user类型的对象。

  • 这是一个糟糕的设计,有几个端点返回相同的资源type

  • 我应该在我的代码中进行更改以引入其他类型,如registration/user

  • 或者我应该向库提交一个补丁,以便它接受自定义端点URL?

回答

0

我不能专门讨论你正在使用的框架,但你可以完全自由地选择你的HTTP资源代表什么。例如,如果客户可以是公司并且具有相关的发票和销售历史记录,但管理员只能是个人且无法进行交易,那么您可以为保持资源分离提供有力的理由。

你应该尽量避免的一件事是允许软件的限制决定你的URI结构。如果我正在创建这个API,并且已经决定客户和管理员是不同类型的对象,那么我会将注册表单资源存放在/ admins/new和/ customers/new中,这些资源将向/管理员收集资源发出POST请求和/客户。我根本没有注册*。

为了解决您的invividual问题:

  1. 我不明白你说“返回资源型”的意思 - 你谈论在响应中返回的陈述,或如何后端函数创建并返回一个类的实例?

  2. 我不会为所有类型的用户添加额外的超类型。每种类型都有一个集合,或者每个类型都有一个集合。

  3. 如果考虑到所有你想要的上方,选择的URI后,你的软件不能处理您所选择的结构,有三个选项:
    我)选择更强大的软件
    II)创建的映射传入您的软件的URI和URI。 Apache的mod_rewrite的可以做到这一点,你
    三)按照你的建议,让你已经在使用更强大的

选择最简单的选择的软件。