johndab/lumen-message-microservice

该包已被 废弃 且不再维护。未建议替换包。

lumen-message-microservice.

dev-master 2020-04-07 21:33 UTC

This package is auto-updated.

Last update: 2022-11-18 00:38:45 UTC


README

可作为独立微服务部署,拥有自己的数据库,提供用于管理线程和消息的 REST API

先决条件

  • php
  • composer
  • MySql

安装

  • .env.example 重命名为 .env
  • 更新 .env
    • APP_DEBUG 设置为 false 并指定 APP_KEY (32个随机字符) 和 APP_TOKEN
    • 创建空数据库并设置连接详情
    • 您可以指定 APP_URL_PREFIX 以添加所有端点的前缀
  • 运行
# Install dependencies and optimize composer autoloader
$ composer install --optimize-autoloader --no-dev

# Create all tables
$ php artisan migrate

线程

每个请求都必须有包含在 App-Token 头部中的正确令牌,该令牌在 .env 中指定

获取所有客户端线程

GET /threads/{clientId}
  • URL
    • int clientId (必需)

添加线程

POST /thread
  • 请求体
    • string title* - 新线程的标题
    • array(string) clients - 分配给线程的客户端的 UUID
    • string params - 包含此线程参数的 JSON

更新线程

PUT /thread/{threadId}/{clientId?}
  • URL
    • int threadId* - 要更新的线程的 ID
    • string clientId - 如果指定,将检查客户端是否有权访问线程
  • 请求体
    • string title - 新标题(如果为 null 则不更新)
    • string params - 新参数

删除线程

DELETE /thread/{threadId}/{clientId?}
  • URL
    • int threadId* - 要删除的线程的 ID
    • string clientId - 如果指定,将检查客户端是否有权访问线程

添加客户端

POST /thread/clients/{threadId}/{clientId?}
  • URL
    • int threadId* - 要删除的线程的 ID
    • string clientId - 如果指定,将检查客户端是否有权访问线程
  • 请求体
    • array(string) clients - 要添加的客户端的 ID

移除客户端

DELETE /thread/clients/{threadId}/{clientId?}
  • URL
    • int threadId* - 要删除的线程的 ID
    • string clientId - 如果指定,将检查客户端是否有权访问线程
  • 请求体
    • array(string) clients - 要移除的客户端的 ID

消息

获取消息

GET /messages/{threadId}/{clientId?}
  • URL
    • int threadId* - 线程的 ID
    • string clientId - 如果指定,将检查客户端是否有权访问线程
  • 查询字符串
    • int take - 要获取的消息数(默认:10)
    • int skip - 要跳过的消息数(默认:0)

添加消息

POST /message/{threadId}
  • URL
    • int threadId* - 线程的 ID
  • 请求体
    • string content* - 消息内容
    • int clientId*
    • string params - 包含此消息参数的 JSON

许可协议

本项目采用 MIT 许可协议授权