Compare commits

..

2 Commits

Author SHA1 Message Date
Gorbunov Kirill Andreevich
593c65c7b7 #2 - add swaggerset 2024-11-29 19:50:05 +03:00
Кирилл Горбунов
ce57938ec2 #1 (#5)
Co-authored-by: Gorbunov Kirill Andreevich <kgorbunov@mtsbank.ru>
Reviewed-on: #5
Co-authored-by: Кирилл Горбунов <kirya_gorbunov_2015@mail.ru>
Co-committed-by: Кирилл Горбунов <kirya_gorbunov_2015@mail.ru>
2024-11-24 12:57:53 +03:00
2 changed files with 27 additions and 0 deletions

View File

@@ -34,3 +34,7 @@ func TestSwaggerSet_1(t *testing.T) {
fmt.Printf("type: %s, reqParam: %s, reqBody: %s, rsp: %s \n", msg.Type, reqParam, reqBody, rsp)
}
}
func TestSwaggerSet_2(t *testing.T) {
Run4()
}

View File

@@ -3,6 +3,7 @@ package swaggerset
import (
"encoding/json"
"fmt"
"log"
"reflect"
"strings"
@@ -27,6 +28,28 @@ type message struct {
Response interface{}
}
func Run4() {
// Загружаем Swagger-документ
loader := openapi3.NewLoader()
doc, err := loader.LoadFromFile("swagger2.yaml")
if err != nil {
log.Fatalf("Ошибка загрузки Swagger-документа: %v", err)
}
// Пример обработки путей
for path, pathItem := range doc.Paths.Map() {
fmt.Printf("Path: %s\n", path)
// Пример обработки методов
if pathItem.Get != nil {
handleOperation("GET", pathItem.Get)
}
if pathItem.Post != nil {
handleOperation("POST", pathItem.Post)
}
}
}
// Обработка операции (GET или POST)
func handleOperation(method string, operation *openapi3.Operation) (reqParam, reqBody, rsp interface{}) {
fmt.Printf(" Method: %s\n", method)