增加swagger解析入口方法+处理分流
This commit is contained in:
35
parser.go
35
parser.go
@ -7,17 +7,38 @@
|
||||
// Date : 2024-07-19 11:45
|
||||
package api_doc
|
||||
|
||||
var (
|
||||
Parser = &parser{}
|
||||
import (
|
||||
"git.zhangdeman.cn/zhangdeman/serialize"
|
||||
"github.com/tidwall/gjson"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type parser struct {
|
||||
// Parse 解析swagger文档
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 16:54 2024/12/23
|
||||
func Parse(docUrl string) (any, 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, "3.") {
|
||||
// 未指定swagger版本或swagger版本3.x
|
||||
return ParseOpenapi3(docContent)
|
||||
}
|
||||
return ParseSwagger2(docContent)
|
||||
}
|
||||
|
||||
func (p *parser) Openapi3() {
|
||||
|
||||
func ParseOpenapi3(docContent []byte) (any, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (p *parser) swagger2() {
|
||||
|
||||
func ParseSwagger2(docContent []byte) (any, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user