hmaus / branda
API 描述模拟服务器
Requires
- php: >=7.0
- hmaus/drafter-installer: ^1.0
- hmaus/drafter-php: ^4.0
- hmaus/spas-parser: ^1.0.0
- hmaus/spas-parser-apib: ^1.0.0
- psr/log: ^1.0
- react/http: ^0.4.1
- rize/uri-template: ^0.3.0
- symfony/config: ^3.1
- symfony/console: ^3.1
- symfony/dependency-injection: ^3.1
- symfony/event-dispatcher: ^3.1
- symfony/filesystem: ^3.1
- symfony/http-foundation: ^3.1
Requires (Dev)
- codeclimate/php-test-reporter: ^0.3
- phpunit/phpunit: ^5.0
- symfony/var-dumper: ^3.1
This package is not auto-updated.
Last update: 2022-02-01 13:01:12 UTC
README
一个 API 描述模拟服务器。
注意
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