123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- // only one
- syntax = "v1"
- // import
- import "foo.api"
- // import group
- import(
- "foo.api"
- "foo/bar.api"
- )
- // only one
- info(
- title: "foo title"
- desc: "foo
- desc"
- author: "foo author"
- email: "foo email"
- version: "foo version"
- )
- // ignore the following duplicate name
- type Foo int
- // type single
- type Foo {
- Bar string
- }
- type Foo {
- Bar string `json:"bar"`
- Inline
- }
- // go struct
- type Foo struct {
- Bar string `json:"bar"`
- }
- // type group
- type (
- Foo int
- // go struct
- Foo struct {
- Bar string `json:"bar"`
- }
- Foo {
- VString string `json:"vString"`
- VBool bool `json:"vBool"`
- VInt8 int8 `json:"vInt8"`
- VInt16 int16 `json:"vInt16"`
- VInt32 int32 `json:"vInt32"`
- VInt64 int64 `json:"vInt64"`
- VInt int `json:"vInt"`
- VUInt8 uint8 `json:"vUInt8"`
- VUInt16 uint16 `json:"vUInt16"`
- VUInt32 uint32 `json:"vUInt32"`
- VUInt64 uint64 `json:"vUInt64"`
- VFloat32 float32 `json:"vFloat32"`
- VFloat64 float64 `json:"vFloat64"`
- VByte byte `json:"vByte"`
- VRune rune `json:"vRune"`
- VMap map[string]int `json:"vMap"`
- VArray []int `json:"vArray"`
- VStruct Foo `json:"vStruct"`
- VStructPointer *Foo `json:"vStructPointer"`
- VInterface interface{} `json:"vInterface"`
- T time.Time
- }
- )
- @server(
- jwt: Foo
- group: foo/bar
- anotherKey: anotherValue
- )
- service example-api {
- @doc(
- summary: "foo1"
- )
- @server(
- handler: fooHandler1
- anotherKey: anotherValue
- )
- post /api/foo1 (SingleExample)
- @doc "foo2"
- @handler fooHandler2
- get /api/foo2 (SingleExample) returns (SingleExample2)
- @handler fooHandler3
- post /api/foo3/:id returns (SingleExample2)
- @handler fooHandler4
- get /api/foo4
- }
|