{ "openapi": "3.0.1", "info": { "title": "Dubbo-go OpenAPI", "description": "dubbo-go generate OpenAPI docs.", "version": "v1" }, "servers": [ { "url": "http://0.0.0.0:20000", "description": "Dubbo-go Default Server" } ], "paths": { "/greet.GreetService/Greet": { "post": { "tags": [ "greet.GreetService" ], "description": "Returns a greeting for a request.", "operationId": "Greet", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/greet.GreetRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/greet.GreetResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/greet.GreetService/GreetUser": { "post": { "tags": [ "greet.GreetService" ], "operationId": "GreetUser", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/greet.GreetUserRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/greet.GreetUserResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } } }, "components": { "schemas": { "greet.GreetProfile": { "type": "object", "properties": { "salutation": { "type": "string", "title": "salutation" } }, "title": "GreetProfile" }, "greet.GreetRequest": { "type": "object", "allOf": [ { "oneOf": [ { "type": "object", "not": { "anyOf": [ { "type": "object", "required": [ "recipientId" ] }, { "type": "object", "required": [ "recipientProfile" ] } ] } }, { "type": "object", "required": [ "recipientId" ] }, { "type": "object", "required": [ "recipientProfile" ] } ] } ], "properties": { "name": { "type": "string", "title": "name", "description": "Name of the person to greet." }, "aliases": { "type": "array", "items": { "type": "string" }, "title": "aliases", "description": "Alternative names for the person." }, "metadata": { "type": "object", "title": "metadata", "additionalProperties": { "type": "string" }, "description": "Additional request metadata." }, "type": { "title": "type", "description": "Preferred greeting style.", "$ref": "#/components/schemas/greet.GreetingType" }, "profile": { "title": "profile", "description": "Profile details for the person.", "$ref": "#/components/schemas/greet.GreetProfile" }, "types": { "type": "array", "items": { "$ref": "#/components/schemas/greet.GreetingType" }, "title": "types" }, "profiles": { "type": "array", "items": { "$ref": "#/components/schemas/greet.GreetProfile" }, "title": "profiles" }, "profileMetadata": { "type": "object", "title": "profile_metadata", "additionalProperties": { "$ref": "#/components/schemas/greet.GreetProfile" } }, "typeMetadata": { "type": "object", "title": "type_metadata", "additionalProperties": { "$ref": "#/components/schemas/greet.GreetingType" } }, "recipientId": { "type": "string", "title": "recipient_id" }, "recipientProfile": { "title": "recipient_profile", "$ref": "#/components/schemas/greet.GreetProfile" } }, "title": "GreetRequest", "description": "A request to the Greet RPC." }, "greet.GreetRequest.MetadataEntry": { "type": "object", "properties": { "key": { "type": "string", "title": "key" }, "value": { "type": "string", "title": "value" } }, "title": "MetadataEntry" }, "greet.GreetRequest.ProfileMetadataEntry": { "type": "object", "properties": { "key": { "type": "string", "title": "key" }, "value": { "title": "value", "$ref": "#/components/schemas/greet.GreetProfile" } }, "title": "ProfileMetadataEntry" }, "greet.GreetRequest.TypeMetadataEntry": { "type": "object", "properties": { "key": { "type": "string", "title": "key" }, "value": { "title": "value", "$ref": "#/components/schemas/greet.GreetingType" } }, "title": "TypeMetadataEntry" }, "greet.GreetResponse": { "type": "object", "properties": { "greeting": { "type": "string", "title": "greeting" } }, "title": "GreetResponse" }, "greet.GreetUserRequest": { "type": "object", "properties": { "name": { "type": "string", "title": "name" } }, "title": "GreetUserRequest" }, "greet.GreetUserResponse": { "type": "object", "properties": { "greeting": { "type": "string", "title": "greeting" } }, "title": "GreetUserResponse" }, "greet.GreetingType": { "type": "string", "title": "GreetingType", "enum": [ "GREETING_TYPE_UNSPECIFIED", "GREETING_TYPE_FORMAL" ] }, "ErrorResponse": { "type": "object", "properties": { "status": { "type": "string", "description": "The status code." }, "message": { "type": "string", "description": "A developer-facing error message." } }, "title": "ErrorResponse", "description": "Error type returned by triple: https://cn.dubbo.apache.org/zh-cn/overview/reference/protocols/triple-spec/" } } }, "security": [], "tags": [ { "name": "greet.GreetService", "description": "APIs for greeting users." } ] }