42 lines
953 B
Go
42 lines
953 B
Go
// Package api_doc ...
|
|
//
|
|
// Description : api_doc ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 2024-07-19 11:45
|
|
package api_doc
|
|
|
|
import (
|
|
"git.zhangdeman.cn/gateway/api-doc/define"
|
|
"git.zhangdeman.cn/zhangdeman/serialize"
|
|
"github.com/tidwall/gjson"
|
|
"strings"
|
|
)
|
|
|
|
// Parse 解析swagger文档
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 16:54 2024/12/23
|
|
func Parse(docUrl string) (*define.DocParseResult, error) {
|
|
var (
|
|
err error
|
|
docContent []byte
|
|
)
|
|
|
|
if docContent, err = serialize.File.ReadFromRemote(docUrl); nil != err {
|
|
return nil, err
|
|
}
|
|
swaggerVersion := gjson.GetBytes(docContent, "swagger").String()
|
|
if "" == swaggerVersion || !strings.HasPrefix(swaggerVersion, "2.") {
|
|
// 未指定swagger版本或swagger版本3.x
|
|
return ParseOpenapi3(docContent)
|
|
}
|
|
return ParseSwagger2(docContent)
|
|
}
|
|
|
|
func ParseOpenapi3(docContent []byte) (*define.DocParseResult, error) {
|
|
return nil, nil
|
|
}
|