github.com/vcilabs/webrpc@v0.5.2-0.20201116131534-162e27b1b33b/_examples/hello-webrpc/hello-api.webrpc.json (about) 1 { 2 "webrpc": "v1", 3 "name": "hello-api", 4 "version": "v0.0.1", 5 "messages": [ 6 { 7 "name": "Kind", 8 "type": "enum", 9 "fields": [ 10 { 11 "name": "USER", 12 "type": "uint32", 13 "value": "1" 14 }, 15 { 16 "name": "ADMIN", 17 "type": "uint32", 18 "value": "2" 19 } 20 ] 21 }, 22 { 23 "name": "Empty", 24 "type": "struct", 25 "fields": [ 26 ] 27 }, 28 { 29 "name": "GetUserRequest", 30 "type": "struct", 31 "fields": [ 32 { 33 "name": "userID", 34 "type": "uint64", 35 "optional": false 36 } 37 ] 38 }, 39 { 40 "name": "User", 41 "type": "struct", 42 "fields": [ 43 { 44 "name": "ID", 45 "type": "uint64", 46 "optional": false, 47 "meta": [ 48 { "json": "id" }, 49 { "go.tag.db": "id" } 50 ] 51 }, 52 { 53 "name": "username", 54 "type": "string", 55 "optional": false, 56 "meta": [ 57 { "json": "USERNAME" }, 58 { "go.tag.db": "username" } 59 ] 60 }, 61 { 62 "name": "createdAt", 63 "type": "timestamp", 64 "optional": true, 65 "meta": [ 66 { "json": "created_at,omitempty" }, 67 { "go.tag.db": "created_at" } 68 ] 69 } 70 71 ] 72 } 73 ], 74 "services": [ 75 { 76 "name": "ExampleService", 77 "methods": [ 78 { 79 "name": "Ping", 80 "inputs": [], 81 "outputs": [ 82 { 83 "name": "", 84 "type": "bool" 85 } 86 ] 87 }, 88 { 89 "name": "GetUser", 90 "inputs": [ 91 { 92 "name": "req", 93 "type": "GetUserRequest" 94 } 95 ], 96 "outputs": [ 97 { 98 "name": "", 99 "type": "User" 100 } 101 ] 102 } 103 ] 104 } 105 ] 106 }