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) }