消息的restapi设计
我在网站上有两种类型的用户:简单用户(客户)和专业用户(表演者) 执行者可以包括在第三种实体类型-团队中 客户可以消息的restapi设计,api,rest,messages,Api,Rest,Messages,我在网站上有两种类型的用户:简单用户(客户)和专业用户(表演者) 执行者可以包括在第三种实体类型-团队中 客户可以 客户端可以向客户端写入数据 客户端可以向执行者写入 客户可以写信给团队 表演者可以 执行者可以向客户机写信 表演者可以给表演者写信 表演者可以写信给团队 您可以建议哪些API路径来处理消息传递流,具体考虑以下几点: 1) 客户机和执行者应该能够相互编写消息并发送给团队 2) 客户和表演者应该能够获得他们参与的“聊天”列表 什么是使这个流保持RESTful的最佳实践 UPD.
- 客户端可以向客户端写入数据
- 客户端可以向执行者写入
- 客户可以写信给团队
- 执行者可以向客户机写信李>
- 表演者可以给表演者写信
- 表演者可以写信给团队
客户端
- 存储所有客户的数据(
,客户id
,名字
,等等)姓氏
- 存储所有客户的数据(
performer
- 存储所有表演者的数据(
,表演者id
,名字
,姓氏
,等等)服务区标题
- 存储所有表演者的数据(
团队
- 只保存团队的标题和一些元数据,例如:performers\u count
团队\u执行者
,团队id
执行者id
- 对于NxM关系
消息
,存在以下表格:
消息
,消息id
,消息
,所有者id
,所有者类型
在
- 所有者类型为ENUM,可以是
,也可以是客户端
执行者
聊天
,chat\u id
创建,在
更新在
与聊天室中最后一条消息的创建时间相同updated_at
聊天参与者
,聊天id
,参与者id
参与者类型
聊天信息
,chat\u id
message\u id
api.site.com/v1/
客户、执行者和团队可以被视为资源,即我已经有了如下方法:
- 创建客户端
POST-api.site.com/v1/clients
- 表演者的更新
PATCH api.site.com/v1/performers/:performerId
- 获得表演者参与的团队的信息
GET api.site.com/v1/performers/:performerId/teams
- 将表演者从团队中移除
删除api.site.com/v1/teams/:teamId/performers/:performerId
- 让我们试着回答你真正的问题
什么是使这个流保持RESTful的最佳实践
我建议你从阅读开始,这将是一个好的开始
它概述了实现restful api的4个
级别
,这些都是很好的原则,可以作为高级理解的起点
- 级别0-非restful(标准rpc)
- 第1级-使用个人资源
- 第2级-使用HTTP动词(获取、删除、发布等)
- 第3级-最后是超媒体控制
现在,利用您所获得的所有知识,您应该能够轻松地设计API。让我们尝试回答您真正的问题 什么是使这个流保持RESTful的最佳实践 我建议你从阅读开始,这将是一个好的开始 它概述了实现restful api的4个
级别
,这些都是很好的原则,可以作为高级理解的起点
- 级别0-非restful(标准rpc)
- 第1级-使用个人资源
- 第2级-使用HTTP动词(获取、删除、发布等)
- 第3级-最后是超媒体控制
现在,有了您所获得的所有知识,您应该能够轻松地设计API。您基本上是在要求我们为您设计项目,这要求有点太高了。”“API路径”应该基于您的模型之间的相互关系等,因为您还没有定义,所以我们不能建议任何“API路径”。谢谢您,Tim。为了更清楚,我更新了描述。好的,现在有什么问题?你已经解决了吗?你基本上是在要求我们为你设计你的项目,这要求太多了“API路径”应该基于您的模型之间的相互关系等,因为您还没有定义,所以我们不能建议任何“API路径”。谢谢您,Tim。为了更清楚,我更新了描述。好的,现在有什么问题?你已经解决了吗?