58 lines
1.1 KiB
Plaintext
58 lines
1.1 KiB
Plaintext
syntax = "v1"
|
|
|
|
// Error definitions are intentionally owned by Go, not duplicated here.
|
|
@app (
|
|
defaultResponse: CommonResponse
|
|
)
|
|
response CommonResponse (
|
|
codeType: int32
|
|
successCode: 0
|
|
errorCode: 9999
|
|
messageField: msg
|
|
dataMode: always
|
|
requestIdField: "-"
|
|
)
|
|
response AlternateResponse (
|
|
codeType: int32
|
|
successCode: 0
|
|
errorCode: 9999
|
|
messageField: detail
|
|
dataMode: always
|
|
requestIdField: "-"
|
|
)
|
|
type CheckReq {
|
|
Kind string `form:"kind,optional"`
|
|
}
|
|
type Receipt {
|
|
Bytes int64 `json:"bytes"`
|
|
}
|
|
@server (group: demo)
|
|
service managed-api {
|
|
@handler check
|
|
get /check (CheckReq) returns (Receipt)
|
|
|
|
@handler other
|
|
@response AlternateResponse
|
|
get /other (CheckReq) returns (Receipt)
|
|
|
|
@handler rawJSON
|
|
@response raw
|
|
get /raw returns (Receipt)
|
|
|
|
@handler upload
|
|
@body (mode: multipart; maxBytes: 2048)
|
|
post /upload returns (Receipt)
|
|
|
|
@handler callback
|
|
@body (mode: raw; maxBytes: 64)
|
|
@produces "text/plain"
|
|
post /callback
|
|
|
|
@handler download
|
|
@produces "application/octet-stream"
|
|
get /download
|
|
|
|
@handler slow
|
|
get /slow returns (Receipt)
|
|
}
|