gpt4 book ai didi

go - 如何使用beego生成离线swagger文档

转载 作者:行者123 更新时间:2023-12-01 22:21:02 25 4
gpt4 key购买 nike

我正在使用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
当swagger发生器打开时: http://localhost:8888/index.html使用带参数的“POST” /生成路由(“lang”:“html”或“lang”:“html2”)
{
"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"

关于go - 如何使用beego生成离线swagger文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63580369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com