消息的restapi设计

消息的restapi设计,api,rest,messages,Api,Rest,Messages,我在网站上有两种类型的用户:简单用户(客户)和专业用户(表演者) 执行者可以包括在第三种实体类型-团队中 客户可以 客户端可以向客户端写入数据 客户端可以向执行者写入 客户可以写信给团队 表演者可以 执行者可以向客户机写信 表演者可以给表演者写信 表演者可以写信给团队 您可以建议哪些API路径来处理消息传递流,具体考虑以下几点: 1) 客户机和执行者应该能够相互编写消息并发送给团队 2) 客户和表演者应该能够获得他们参与的“聊天”列表 什么是使这个流保持RESTful的最佳实践 UPD.

我在网站上有两种类型的用户:简单用户(客户)和专业用户(表演者)

执行者可以包括在第三种实体类型-团队中

客户可以

  • 客户端可以向客户端写入数据
  • 客户端可以向执行者写入
  • 客户可以写信给团队
表演者可以

  • 执行者可以向客户机写信
  • 表演者可以给表演者写信
  • 表演者可以写信给团队
您可以建议哪些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 url如下:
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。为了更清楚,我更新了描述。好的,现在有什么问题?你已经解决了吗?