Files
api-doc/openapi/generate_test.go

39 lines
1.3 KiB
Go

// Package openapi ...
//
// Description : openapi ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2026-01-06 11:48
package openapi
import (
"encoding/json"
"fmt"
"testing"
"time"
)
func TestGenerate_AddApiDoc(t *testing.T) {
type Category struct {
ID int64 `json:"id" description:"分类ID"`
Name string `json:"name" description:"分类名称"`
}
type Product struct {
ID int64 `json:"id" description:"产品ID" example:"1001" required:"true"`
Name string `json:"name" description:"产品名称" example:"iPhone 13" minLength:"2" maxLength:"100" required:"true"`
Price float64 `json:"price" description:"价格" example:"6999.99" min:"0"`
Stock int `json:"stock" description:"库存" example:"100" min:"0"`
Tags []string `json:"tags" description:"标签"`
Attributes map[string]string `json:"attributes" description:"属性"`
CreatedAt time.Time `json:"created_at" description:"创建时间"`
UpdatedAt *time.Time `json:"updated_at,omitempty" description:"更新时间"`
Category *Category `json:"category,omitempty" description:"分类"`
}
instance := NewGenerate()
instance.AddApiDoc(Category{}, Product{})
// 输出 JSON
data, _ := json.MarshalIndent(instance.doc, "", " ")
fmt.Println(string(data))
}