赞
踩
在使用swagger ui过程中不知道你们有没有注意到文档结尾右下角的小徽章

点开后发现返回一串json
{"schemaValidationMessages":[{"level":"error","message":"Can't read from file http://10.8.15.49:18081/wxapp_lottery_api.yaml"}]}

这是Swagger提供的一个小工具,用来校验生成的文档说明文件是否符合语法规定的,如果符合就显示绿色的VALID徽章,否则就是黄色的

上面那串json大致的意思是说无法访问到该yaml文件
这是由于我的swagger ui是使用docker本地部署的,没有公网ip
所以推荐使用docker容器化部署的本地validator
>>> docker run -itd -p 18083:8080 --name swagger-validator-v2 swaggerapi/swagger-validator-v2:latest
然后在docker run --env参数中添加
>>> docker run ... --env VALIDATOR_URL=http://10.8.15.49:18083/validator ...
也可以在docker-compose中添加该服务,我更倾向于这种方式
version: "3.8" services: swagger_validator: image: swaggerapi/swagger-validator-v2 container_name: swagger_validator ports: - 18083:8080 restart: always swagger_ui: image: swaggerapi/swagger-ui container_name: swagger_ui volumes: - ./files:/files ports: - 18081:8080 environment: - SWAGGER_JSON=/files/welcome.yaml - VALIDATOR_URL=http://10.8.15.49:18083/validator restart: always swagger_editor: image: swaggerapi/swagger-editor container_name: swagger_editor ports: - 18082:8080 restart: always
然后你就会发现之前黄色的徽章变绿色了,强迫症表示:
舒服了~~~

参考:
https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/
https://github.com/swagger-api/validator-badge
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。