Go Implementation For Apache Dubbo .
{
"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."
}
]
}