如何解决如何使用beego生成离线swagger文档
我正在使用beego开发一个网站,并且想用招摇的方式生成文档。
beego的官方文档向我们展示了如何大张旗鼓地生成文档:https://beego.me/docs/advantage/docs.md
我已经成功地根据上述文档生成了草率的文档。
但是,该文档不是处于脱机状态,这意味着我必须保持网站服务器的运行状态才能使用该在线文档。
是否可以生成一种离线文档?
解决方法
要生成离线swagger,我启动本地服务器(例如localhost:8088 / swagger /)并运行
docker run -e "JAVA_MEM=1024m" -e "HTTP_PORT=80" -p 8888:80 --name swagger-generator-v3 -v /tmp:/jetty_home/lib/shared swaggerapi/swagger-generator-v3
打开招摇发生器时:http://localhost:8888/index.html
使用带有参数(“ lang”:“ html”或“ lang”:“ html2”)的“ POST” /生成路由
{
"lang": "html","specURL": "http://172.17.0.1:8088/swagger/swagger.json"
}
点击“执行”并获取“下载文件”
或使用以下bash脚本:
#!/bin/bash
OUTFILE="offline_swagger.zip"
HOST=127.0.0.1
SWAGGER_IP_PORT=8090
DOCKER_IP=$(ip addr show | grep "\binet\b.*\bdocker0\b" | awk '{print $2}' | cut -d '/' -f 1)
SWAGGERJSON=http://$DOCKER_IP:$SWAGGER_IP_PORT/swagger/swagger.json
API_URL="http://$HOST:8888/api/generate"
generate_post_data()
{
cat <<EOF
{
"lang": "html","specURL": "$SWAGGERJSON"
}
EOF
}
#Check if swagger is on
</dev/tcp/$HOST/$SWAGGER_IP_PORT
if [ "$?" -ne 0 ]; then
echo "Connection to $HOST on port $SWAGGER_IP_PORT failed"
exit 1
fi
docker run -d -e "JAVA_MEM=1024m" -e "HTTP_PORT=80" -p 8888:80 -v /tmp:/jetty_home/lib/shared swaggerapi/swagger-generator-v3
sleep 10
curl -X POST -H 'Content-Type:application/json' -H 'accept: application/json' --data "$(generate_post_data)" ${API_URL} -o $OUTFILE
docker stop $(docker ps -q --filter ancestor=swaggerapi/swagger-generator-v3 )
echo "Output to $OUTFILE"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。