| { |
| "swagger": "2.0", |
| "info": { |
| "title": "test.proto", |
| "version": "version not set" |
| }, |
| "schemes": [ |
| "http", |
| "https" |
| ], |
| "consumes": [ |
| "application/json" |
| ], |
| "produces": [ |
| "application/json" |
| ], |
| "paths": { |
| "/v1/example/a_bit_of_everything": { |
| "post": { |
| "operationId": "CreateBody", |
| "responses": { |
| "200": { |
| "description": "", |
| "schema": { |
| "$ref": "#/definitions/examples.example.ABitOfEverything" |
| } |
| } |
| }, |
| "parameters": [ |
| { |
| "name": "body", |
| "in": "body", |
| "required": true, |
| "schema": { |
| "$ref": "#/definitions/examples.example.ABitOfEverything" |
| } |
| } |
| ], |
| "tags": [ |
| "ABitOfEverythingService" |
| ] |
| } |
| }, |
| "/v1/example/a_bit_of_everything/echo/{value}": { |
| "get": { |
| "operationId": "Echo", |
| "responses": { |
| "200": { |
| "description": "", |
| "schema": { |
| "$ref": "#/definitions/examples.sub.StringMessage" |
| } |
| } |
| }, |
| "parameters": [ |
| { |
| "name": "value", |
| "in": "path", |
| "required": true, |
| "type": "string", |
| "format": "string" |
| } |
| ], |
| "tags": [ |
| "ABitOfEverythingService" |
| ] |
| } |
| }, |
| "/v1/example/a_bit_of_everything/{float_value}/{double_value}/{int64_value}/separator/{uint64_value}/{int32_value}/{fixed64_value}/{fixed32_value}/{bool_value}/{string_value}/{uint32_value}/{sfixed32_value}/{sfixed64_value}/{sint32_value}/{sint64_value}/{nonConventionalNameValue}": { |
| "post": { |
| "operationId": "Create", |
| "responses": { |
| "200": { |
| "description": "", |
| "schema": { |
| "$ref": "#/definitions/examples.example.ABitOfEverything" |
| } |
| } |
| }, |
| "parameters": [ |
| { |
| "name": "float_value", |
| "in": "path", |
| "required": true, |
| "type": "number", |
| "format": "float" |
| }, |
| { |
| "name": "double_value", |
| "in": "path", |
| "required": true, |
| "type": "number", |
| "format": "double" |
| }, |
| { |
| "name": "int64_value", |
| "in": "path", |
| "required": true, |
| "type": "string", |
| "format": "int64" |
| }, |
| { |
| "name": "uint64_value", |
| "in": "path", |
| "required": true, |
| "type": "string", |
| "format": "uint64" |
| }, |
| { |
| "name": "int32_value", |
| "in": "path", |
| "required": true, |
| "type": "integer", |
| "format": "int32" |
| }, |
| { |
| "name": "fixed64_value", |
| "in": "path", |
| "required": true, |
| "type": "string", |
| "format": "uint64" |
| }, |
| { |
| "name": "fixed32_value", |
| "in": "path", |
| "required": true, |
| "type": "integer", |
| "format": "int64" |
| }, |
| { |
| "name": "bool_value", |
| "in": "path", |
| "required": true, |
| "type": "boolean", |
| "format": "boolean" |
| }, |
| { |
| "name": "string_value", |
| "in": "path", |
| "required": true, |
| "type": "string", |
| "format": "string" |
| }, |
| { |
| "name": "uint32_value", |
| "in": "path", |
| "required": true, |
| "type": "integer", |
| "format": "int64" |
| }, |
| { |
| "name": "sfixed32_value", |
| "in": "path", |
| "required": true, |
| "type": "integer", |
| "format": "int32" |
| }, |
| { |
| "name": "sfixed64_value", |
| "in": "path", |
| "required": true, |
| "type": "string", |
| "format": "int64" |
| }, |
| { |
| "name": "sint32_value", |
| "in": "path", |
| "required": true, |
| "type": "integer", |
| "format": "int32" |
| }, |
| { |
| "name": "sint64_value", |
| "in": "path", |
| "required": true, |
| "type": "string", |
| "format": "int64" |
| }, |
| { |
| "name": "nonConventionalNameValue", |
| "in": "path", |
| "required": true, |
| "type": "string", |
| "format": "string" |
| } |
| ], |
| "tags": [ |
| "ABitOfEverythingService" |
| ] |
| } |
| }, |
| "/v1/example/a_bit_of_everything/{single_nested.name}": { |
| "post": { |
| "operationId": "DeepPathEcho", |
| "responses": { |
| "200": { |
| "description": "", |
| "schema": { |
| "$ref": "#/definitions/examples.example.ABitOfEverything" |
| } |
| } |
| }, |
| "parameters": [ |
| { |
| "name": "single_nested.name", |
| "in": "path", |
| "required": true, |
| "type": "string", |
| "format": "string" |
| }, |
| { |
| "name": "body", |
| "in": "body", |
| "required": true, |
| "schema": { |
| "$ref": "#/definitions/examples.example.ABitOfEverything" |
| } |
| } |
| ], |
| "tags": [ |
| "ABitOfEverythingService" |
| ] |
| } |
| }, |
| "/v1/example/a_bit_of_everything/{uuid}": { |
| "get": { |
| "operationId": "Lookup", |
| "responses": { |
| "200": { |
| "description": "", |
| "schema": { |
| "$ref": "#/definitions/examples.example.ABitOfEverything" |
| } |
| } |
| }, |
| "parameters": [ |
| { |
| "name": "uuid", |
| "in": "path", |
| "required": true, |
| "type": "string", |
| "format": "string" |
| } |
| ], |
| "tags": [ |
| "ABitOfEverythingService" |
| ] |
| }, |
| "delete": { |
| "operationId": "Delete", |
| "responses": { |
| "200": { |
| "description": "", |
| "schema": { |
| "$ref": "#/definitions/google.protobuf.Empty" |
| } |
| } |
| }, |
| "parameters": [ |
| { |
| "name": "uuid", |
| "in": "path", |
| "required": true, |
| "type": "string", |
| "format": "string" |
| } |
| ], |
| "tags": [ |
| "ABitOfEverythingService" |
| ] |
| }, |
| "put": { |
| "operationId": "Update", |
| "responses": { |
| "200": { |
| "description": "", |
| "schema": { |
| "$ref": "#/definitions/google.protobuf.Empty" |
| } |
| } |
| }, |
| "parameters": [ |
| { |
| "name": "uuid", |
| "in": "path", |
| "required": true, |
| "type": "string", |
| "format": "string" |
| }, |
| { |
| "name": "body", |
| "in": "body", |
| "required": true, |
| "schema": { |
| "$ref": "#/definitions/examples.example.ABitOfEverything" |
| } |
| } |
| ], |
| "tags": [ |
| "ABitOfEverythingService" |
| ] |
| } |
| }, |
| "/v2/example/echo": { |
| "get": { |
| "operationId": "Echo", |
| "responses": { |
| "200": { |
| "description": "", |
| "schema": { |
| "$ref": "#/definitions/examples.sub.StringMessage" |
| } |
| } |
| }, |
| "tags": [ |
| "ABitOfEverythingService" |
| ] |
| }, |
| "post": { |
| "operationId": "Echo", |
| "responses": { |
| "200": { |
| "description": "", |
| "schema": { |
| "$ref": "#/definitions/examples.sub.StringMessage" |
| } |
| } |
| }, |
| "parameters": [ |
| { |
| "name": "body", |
| "in": "body", |
| "required": true, |
| "schema": { |
| "$ref": "#/definitions/examples.sub.StringMessage" |
| } |
| } |
| ], |
| "tags": [ |
| "ABitOfEverythingService" |
| ] |
| } |
| }, |
| "/v2/example/timeout": { |
| "get": { |
| "operationId": "Timeout", |
| "responses": { |
| "200": { |
| "description": "", |
| "schema": { |
| "$ref": "#/definitions/google.protobuf.Empty" |
| } |
| } |
| }, |
| "tags": [ |
| "ABitOfEverythingService" |
| ] |
| } |
| } |
| }, |
| "definitions": { |
| "examples.example.ABitOfEverything.Nested": { |
| "type": "object", |
| "properties": { |
| "amount": { |
| "type": "integer", |
| "format": "int64" |
| }, |
| "name": { |
| "type": "string", |
| "format": "string", |
| "description": "name is nested field." |
| }, |
| "ok": { |
| "$ref": "#/definitions/examples.example.ABitOfEverything.Nested.DeepEnum" |
| } |
| }, |
| "description": "Nested is nested type." |
| }, |
| "examples.example.ABitOfEverything.Nested.DeepEnum": { |
| "type": "string", |
| "enum": [ |
| "FALSE", |
| "TRUE" |
| ], |
| "default": "FALSE", |
| "description": "DeepEnum is one or zero.\nValid values:\n - FALSE: FALSE is false.\n - TRUE: TRUE is true." |
| }, |
| "examples.example.ABitOfEverything": { |
| "type": "object", |
| "properties": { |
| "bool_value": { |
| "type": "boolean", |
| "format": "boolean" |
| }, |
| "double_value": { |
| "type": "number", |
| "format": "double" |
| }, |
| "enum_value": { |
| "$ref": "#/definitions/examples.example.NumericEnum" |
| }, |
| "fixed32_value": { |
| "type": "integer", |
| "format": "int64" |
| }, |
| "fixed64_value": { |
| "type": "string", |
| "format": "uint64" |
| }, |
| "float_value": { |
| "type": "number", |
| "format": "float" |
| }, |
| "int32_value": { |
| "type": "integer", |
| "format": "int32" |
| }, |
| "int64_value": { |
| "type": "string", |
| "format": "int64" |
| }, |
| "map_value": { |
| "type": "object", |
| "additionalProperties": { |
| "$ref": "#/definitions/examples.example.NumericEnum" |
| } |
| }, |
| "mapped_nested_value": { |
| "type": "object", |
| "additionalProperties": { |
| "$ref": "#/definitions/examples.example.ABitOfEverything.Nested" |
| } |
| }, |
| "mapped_string_value": { |
| "type": "object", |
| "additionalProperties": { |
| "type": "string", |
| "format": "string" |
| } |
| }, |
| "nested": { |
| "type": "array", |
| "items": { |
| "$ref": "#/definitions/examples.example.ABitOfEverything.Nested" |
| } |
| }, |
| "nonConventionalNameValue": { |
| "type": "string", |
| "format": "string" |
| }, |
| "oneof_empty": { |
| "$ref": "#/definitions/google.protobuf.Empty" |
| }, |
| "oneof_string": { |
| "type": "string", |
| "format": "string" |
| }, |
| "repeated_string_value": { |
| "type": "array", |
| "items": { |
| "type": "string", |
| "format": "string" |
| } |
| }, |
| "sfixed32_value": { |
| "type": "integer", |
| "format": "int32" |
| }, |
| "sfixed64_value": { |
| "type": "string", |
| "format": "int64" |
| }, |
| "single_nested": { |
| "$ref": "#/definitions/examples.example.ABitOfEverything.Nested" |
| }, |
| "sint32_value": { |
| "type": "integer", |
| "format": "int32" |
| }, |
| "sint64_value": { |
| "type": "string", |
| "format": "int64" |
| }, |
| "string_value": { |
| "type": "string", |
| "format": "string" |
| }, |
| "timestamp_value": { |
| "type": "string", |
| "format": "date-time" |
| }, |
| "uint32_value": { |
| "type": "integer", |
| "format": "int64", |
| "description": "TODO(yugui) add bytes_value" |
| }, |
| "uint64_value": { |
| "type": "string", |
| "format": "uint64" |
| }, |
| "uuid": { |
| "type": "string", |
| "format": "string" |
| } |
| }, |
| "description": "Intentionaly complicated message type to cover much features of Protobuf.\n NEXT ID: 27" |
| }, |
| "examples.example.NumericEnum": { |
| "type": "string", |
| "enum": [ |
| "ZERO", |
| "ONE" |
| ], |
| "default": "ZERO", |
| "description": "NumericEnum is one or zero.\nValid values:\n - ZERO: ZERO means 0\n - ONE: ONE means 1" |
| }, |
| "google.protobuf.Empty": { |
| "type": "object", |
| "description": "A generic empty message that you can re-use to avoid defining duplicated\n empty messages in your APIs. A typical example is to use it as the request\n or the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\n The JSON representation for `Empty` is empty JSON object `{}`." |
| }, |
| "sub2.IdMessage": { |
| "type": "object", |
| "properties": { |
| "uuid": { |
| "type": "string", |
| "format": "string" |
| } |
| } |
| }, |
| "examples.sub.StringMessage": { |
| "type": "object", |
| "properties": { |
| "value": { |
| "type": "string", |
| "format": "string" |
| } |
| } |
| } |
| } |
| } |