// Package openapi ... // // Description : openapi ... // // Author : go_developer@163.com<白茶清欢> // // Date : 2026-01-06 11:48 package openapi import ( "encoding/json" "fmt" "net/http" "testing" "time" "git.zhangdeman.cn/zhangdeman/api-doc/define" ) 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,omitempty" description:"产品ID" example:"1001" required:"true" binding:"required"` 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(define.UriConfig{ Path: "/a/b/c", RequestMethod: http.MethodGet, TagList: []string{"test"}, Desc: "测试接口", }, Category{}, Product{}) // 输出 JSON data, _ := json.MarshalIndent(instance.doc, "", " ") fmt.Println(string(data)) }