hmaus/branda

此包已被 废弃 且不再维护。未建议替代包。

API 描述模拟服务器

dev-master 2016-10-26 14:29 UTC

This package is not auto-updated.

Last update: 2022-02-01 13:01:12 UTC


README

一个 API 描述模拟服务器。

Minimum PHP Version Build Status codecov Code Climate

注意

Branda 目前处于 实验性 状态!
目前只支持 API Blueprint。

安装和用法

Docker

如果你熟悉 docker,那么使用 branda 是最舒适的方式

Mac 用户:确保你的文件可以被 docker 使用。例如:使用 docker-machine-nfs,挂载相应的文件夹,否则 -v 将不会与 docker 一起工作

docker run -it --name "branda" --rm -p 8000:8000 \
  -v $(pwd):/appdata hendrikmaus/branda \
  mock 0.0.0.0 -f /appdata/your-service.apib

让我们详细了解一下这个命令

  • docker run -it --name "branda" --rm

    • -t 分配伪终端
    • -i 即使未附加也保持 STDIN 打开
    • --name "branda" 容器名称
    • --rm 容器退出时进行清理
  • -p 8000:8000

    • 端口映射
    • branda 默认将在端口 8000 上监听,但你可以使用选项更改它
    • Mac 用户注意:你将在 vm 解决方案的 IP 上暴露端口,例如 docker-machine
  • -v $(pwd):/appdata hendrikmaus/branda \

    • -v 将当前工作目录挂载到容器内的 /appdata 文件夹
    • hendrikmaus/branda 是镜像名称(和标签)
  • mock 0.0.0.0 -f /appdata/your-service.apib

    这些是实际传递给 branda 的参数和选项。确保监听在公共接口上。当传递文件给它时,请记住它位于容器内的 /appdata 中,而 /appdata 等同于你的当前工作目录的结构

停止 Branda

docker stop branda

源代码

先决条件
从源代码安装 branda 意味着你的机器必须安装 PHP >= 7 和用于编译 Drafter 的 Cpp 工具

推荐使用 composer 安装 branda。
由于当前有对 drafter 的依赖,你必须将其添加到 composer.json 中的 scripts 部分

  "extra": {
    "drafter-installer-tag": "v3.1.3"
  },
  "scripts": {
    "install-drafter": "Hmaus\\Drafter\\Installer::installDrafter",
    "post-install-cmd": [
      "@install-drafter"
    ],
    "post-update-cmd": [
      "@install-drafter"
    ]
  }

现在你可以要求 branda 本身

composer require hmaus/branda

你必须要求 dev-master,因为实验性版本还没有标签

用法

启动模拟服务器的最简单示例

vendor/bin/branda mock --file "your-service.apib"

使用 composer 安装时,branda 将安装到你的 bin 文件夹中,默认为 vendor/bin