You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
package spec
type (
Doc [ ] string
Annotation struct {
Properties map [ string ] string
}
ApiSyntax struct {
Version string
}
ApiSpec struct {
Info Info
Syntax ApiSyntax
Imports [ ] Import
Types [ ] Type
Service Service
}
Import struct {
Value string
}
Group struct {
Annotation Annotation
Routes [ ] Route
}
Info struct {
// Deprecated: use Properties instead
Title string
// Deprecated: use Properties instead
Desc string
// Deprecated: use Properties instead
Version string
// Deprecated: use Properties instead
Author string
// Deprecated: use Properties instead
Email string
Properties map [ string ] string
}
Member struct {
Name string
// 数据类型字面值, 如: string、map[int]string、[]int64、[]*User
Type Type
Tag string
Comment string
// 成员头顶注释说明
Docs Doc
IsInline bool
}
Route struct {
Annotation Annotation
Method string
Path string
RequestType Type
ResponseType Type
Docs Doc
Handler string
AtDoc AtDoc
}
Service struct {
Name string
Groups [ ] Group
}
Type interface {
Name ( ) string
}
DefineStruct struct {
RawName string
Members [ ] Member
Docs Doc
}
// 系统预设基本数据类型 bool int32 int64 float32
PrimitiveType struct {
RawName string
}
MapType struct {
RawName string
// only support the PrimitiveType
Key string
// it can be asserted as PrimitiveType: int、bool、
// PointerType: *string、*User、
// MapType: map[${PrimitiveType}]interface、
// ArrayType:[]int、[]User、[]*User
// InterfaceType: interface{}
// Type
Value Type
}
ArrayType struct {
RawName string
Value Type
}
InterfaceType struct {
RawName string
}
PointerType struct {
RawName string
Type Type
}
AtDoc struct {
Properties map [ string ] string
Text string
}
)