Ecx 生成swagger文档

Ecx 生成swagger文档

swagger集成到lumen

 

使用

 

在 bootstrap中新增

 

$app->register(EspierSwaggerProvidersSwaggerServiceProvider::class);

在ECX中, 只要APP_ENV 不等于 staging productions 就可以省略以上部分

然后执行命令,将swagger UI的资源拷贝到public目录中.

 

php artisan api:swagger --setup

 

如需生成指定目录的swagger API josn文件则使用

 

php artisan api:swagger --output=[/path/to/project];

 

在ECX中,只需执行以下文件即可

sh api

sh salesperson-api

查看.env中

如果是local 请查看

是否有你想要的文件路径,如果有则代表你已经生成成功了

 

默认JSON文件生成目录为Storage的apidocs中,可通过在.env中新增配置改变存储目录名称

 

SWAGGER_STORAGE_DIR=apidocs

 

生成API JSON文件后通过路由访问

 

http://example.com/api-doc

设置.env中的 SWAGGER_API_HOST

3.查看ng配置中 访问上边设置的域名+后端代码所对应的端口号+api-doc 请注意,是后端代码所在的端口号,而不是前端代码

比如 http://ecx.test:8005/api-doc

再比如

 

如果需改变路由名称则可以通过.env配置

 

SWAGGER_DOCS_ROUTER=api-doc

 

如果需要使用mock server 则必须安装PHP的Yaml扩展,并且启动mock server服务

 

php artisan api:swagger --mock-server-start

 

在开发阶段因为团队中每个人的环境配置不一致,API需要绑定不同的访问地址。

那么则不能用API中定义的host和basePath作为测试地址。

以便于个人开发测试,那么则可以通过.env配置个人的host和basePath。

 

SWAGGER_API_HOST=
SWAGGER_API_BASE_PATH=

线上打不开的情况,要配置这个?
location /api-doc/ {
access_log /var/log/nginx/access.log;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 32m;
client_body_buffer_size 256k;
proxy_pass http://localhost:8090;
}

location /api-json {
access_log /var/log/nginx/access.log;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 32m;
client_body_buffer_size 256k;
proxy_pass http://localhost:8090;
}

location /swagger-ui/ {
access_log /var/log/nginx/access.log;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 32m;
client_body_buffer_size 256k;
proxy_pass http://localhost:8090;
}
原文地址:https://www.cnblogs.com/showker/p/14985208.html