...

Text file src/github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb/visibility_rule_preview_echo_service.swagger.json

Documentation: github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb

     1{
     2  "swagger": "2.0",
     3  "info": {
     4    "title": "examples/internal/proto/examplepb/visibility_rule_echo_service.proto",
     5    "description": "Visibility Rule Echo Service\nSimilar to echo_service.proto but with annotations to change visibility\nof services, methods, fields and enum values.\n\n`google.api.VisibilityRule` annotations are added to customize where they are generated.\nCombined with the option `visibility_restriction_selectors` overlapping rules will appear in the OpenAPI output.\nElements without `google.api.VisibilityRule` annotations will appear as usual in the generated output.\n\nThese restrictions and selectors are completely arbitrary and you can define whatever values or hierarchies you want.\nIn this example `INTERNAL`, `PREVIEW` are used, but `INTERNAL`, `ALPHA`, `BETA`, `RELEASED`, or anything else could be used if you wish.",
     6    "version": "version not set"
     7  },
     8  "tags": [
     9    {
    10      "name": "VisibilityRuleEchoService"
    11    }
    12  ],
    13  "consumes": [
    14    "application/json"
    15  ],
    16  "produces": [
    17    "application/json"
    18  ],
    19  "paths": {
    20    "/v1/example/echo/{id}": {
    21      "post": {
    22        "summary": "Echo method receives a simple message and returns it.\nIt should always be visible in the open API output.",
    23        "operationId": "VisibilityRuleEchoService_Echo",
    24        "responses": {
    25          "200": {
    26            "description": "A successful response.",
    27            "schema": {
    28              "$ref": "#/definitions/examplepbVisibilityRuleSimpleMessage"
    29            }
    30          },
    31          "default": {
    32            "description": "An unexpected error response.",
    33            "schema": {
    34              "$ref": "#/definitions/rpcStatus"
    35            }
    36          }
    37        },
    38        "parameters": [
    39          {
    40            "name": "id",
    41            "description": "Id represents the message identifier.",
    42            "in": "path",
    43            "required": true,
    44            "type": "string"
    45          },
    46          {
    47            "name": "num",
    48            "in": "query",
    49            "required": false,
    50            "type": "string",
    51            "format": "int64"
    52          },
    53          {
    54            "name": "lineNum",
    55            "in": "query",
    56            "required": false,
    57            "type": "string",
    58            "format": "int64"
    59          },
    60          {
    61            "name": "lang",
    62            "in": "query",
    63            "required": false,
    64            "type": "string"
    65          },
    66          {
    67            "name": "status.progress",
    68            "in": "query",
    69            "required": false,
    70            "type": "string",
    71            "format": "int64"
    72          },
    73          {
    74            "name": "status.note",
    75            "in": "query",
    76            "required": false,
    77            "type": "string"
    78          },
    79          {
    80            "name": "status.previewField",
    81            "in": "query",
    82            "required": false,
    83            "type": "string"
    84          },
    85          {
    86            "name": "en",
    87            "in": "query",
    88            "required": false,
    89            "type": "string",
    90            "format": "int64"
    91          },
    92          {
    93            "name": "no.progress",
    94            "in": "query",
    95            "required": false,
    96            "type": "string",
    97            "format": "int64"
    98          },
    99          {
   100            "name": "no.note",
   101            "in": "query",
   102            "required": false,
   103            "type": "string"
   104          },
   105          {
   106            "name": "no.previewField",
   107            "in": "query",
   108            "required": false,
   109            "type": "string"
   110          },
   111          {
   112            "name": "previewField",
   113            "in": "query",
   114            "required": false,
   115            "type": "string"
   116          },
   117          {
   118            "name": "anEnum",
   119            "in": "query",
   120            "required": false,
   121            "type": "string",
   122            "enum": [
   123              "VISIBILITY_ENUM_UNSPECIFIED",
   124              "VISIBILITY_ENUM_VISIBLE",
   125              "VISIBILITY_ENUM_PREVIEW"
   126            ],
   127            "default": "VISIBILITY_ENUM_UNSPECIFIED"
   128          }
   129        ],
   130        "tags": [
   131          "VisibilityRuleEchoService"
   132        ]
   133      }
   134    },
   135    "/v1/example/echo_internal_and_preview": {
   136      "get": {
   137        "summary": "EchoInternalAndPreview is a internal and preview API that should only be visible in the OpenAPI spec\nif `visibility_restriction_selectors` includes \"PREVIEW\" or \"INTERNAL\".",
   138        "operationId": "VisibilityRuleEchoService_EchoInternalAndPreview",
   139        "responses": {
   140          "200": {
   141            "description": "A successful response.",
   142            "schema": {
   143              "$ref": "#/definitions/examplepbVisibilityRuleSimpleMessage"
   144            }
   145          },
   146          "default": {
   147            "description": "An unexpected error response.",
   148            "schema": {
   149              "$ref": "#/definitions/rpcStatus"
   150            }
   151          }
   152        },
   153        "parameters": [
   154          {
   155            "name": "id",
   156            "description": "Id represents the message identifier.",
   157            "in": "query",
   158            "required": false,
   159            "type": "string"
   160          },
   161          {
   162            "name": "num",
   163            "in": "query",
   164            "required": false,
   165            "type": "string",
   166            "format": "int64"
   167          },
   168          {
   169            "name": "lineNum",
   170            "in": "query",
   171            "required": false,
   172            "type": "string",
   173            "format": "int64"
   174          },
   175          {
   176            "name": "lang",
   177            "in": "query",
   178            "required": false,
   179            "type": "string"
   180          },
   181          {
   182            "name": "status.progress",
   183            "in": "query",
   184            "required": false,
   185            "type": "string",
   186            "format": "int64"
   187          },
   188          {
   189            "name": "status.note",
   190            "in": "query",
   191            "required": false,
   192            "type": "string"
   193          },
   194          {
   195            "name": "status.previewField",
   196            "in": "query",
   197            "required": false,
   198            "type": "string"
   199          },
   200          {
   201            "name": "en",
   202            "in": "query",
   203            "required": false,
   204            "type": "string",
   205            "format": "int64"
   206          },
   207          {
   208            "name": "no.progress",
   209            "in": "query",
   210            "required": false,
   211            "type": "string",
   212            "format": "int64"
   213          },
   214          {
   215            "name": "no.note",
   216            "in": "query",
   217            "required": false,
   218            "type": "string"
   219          },
   220          {
   221            "name": "no.previewField",
   222            "in": "query",
   223            "required": false,
   224            "type": "string"
   225          },
   226          {
   227            "name": "previewField",
   228            "in": "query",
   229            "required": false,
   230            "type": "string"
   231          },
   232          {
   233            "name": "anEnum",
   234            "in": "query",
   235            "required": false,
   236            "type": "string",
   237            "enum": [
   238              "VISIBILITY_ENUM_UNSPECIFIED",
   239              "VISIBILITY_ENUM_VISIBLE",
   240              "VISIBILITY_ENUM_PREVIEW"
   241            ],
   242            "default": "VISIBILITY_ENUM_UNSPECIFIED"
   243          }
   244        ],
   245        "tags": [
   246          "VisibilityRuleEchoService"
   247        ]
   248      }
   249    },
   250    "/v1/example/echo_preview": {
   251      "get": {
   252        "summary": "EchoPreview is a preview API that should only be visible in the OpenAPI spec\nif `visibility_restriction_selectors` includes \"PREVIEW\".",
   253        "operationId": "VisibilityRuleEchoService_EchoPreview",
   254        "responses": {
   255          "200": {
   256            "description": "A successful response.",
   257            "schema": {
   258              "$ref": "#/definitions/examplepbVisibilityRuleMessageInPreviewMethod"
   259            }
   260          },
   261          "default": {
   262            "description": "An unexpected error response.",
   263            "schema": {
   264              "$ref": "#/definitions/rpcStatus"
   265            }
   266          }
   267        },
   268        "parameters": [
   269          {
   270            "name": "id",
   271            "description": "Id represents the message identifier.",
   272            "in": "query",
   273            "required": false,
   274            "type": "string"
   275          },
   276          {
   277            "name": "num",
   278            "in": "query",
   279            "required": false,
   280            "type": "string",
   281            "format": "int64"
   282          },
   283          {
   284            "name": "lineNum",
   285            "in": "query",
   286            "required": false,
   287            "type": "string",
   288            "format": "int64"
   289          },
   290          {
   291            "name": "lang",
   292            "in": "query",
   293            "required": false,
   294            "type": "string"
   295          },
   296          {
   297            "name": "status.progress",
   298            "in": "query",
   299            "required": false,
   300            "type": "string",
   301            "format": "int64"
   302          },
   303          {
   304            "name": "status.note",
   305            "in": "query",
   306            "required": false,
   307            "type": "string"
   308          },
   309          {
   310            "name": "status.previewField",
   311            "in": "query",
   312            "required": false,
   313            "type": "string"
   314          },
   315          {
   316            "name": "en",
   317            "in": "query",
   318            "required": false,
   319            "type": "string",
   320            "format": "int64"
   321          },
   322          {
   323            "name": "no.progress",
   324            "in": "query",
   325            "required": false,
   326            "type": "string",
   327            "format": "int64"
   328          },
   329          {
   330            "name": "no.note",
   331            "in": "query",
   332            "required": false,
   333            "type": "string"
   334          },
   335          {
   336            "name": "no.previewField",
   337            "in": "query",
   338            "required": false,
   339            "type": "string"
   340          },
   341          {
   342            "name": "previewField",
   343            "in": "query",
   344            "required": false,
   345            "type": "string"
   346          },
   347          {
   348            "name": "anEnum",
   349            "in": "query",
   350            "required": false,
   351            "type": "string",
   352            "enum": [
   353              "VISIBILITY_ENUM_UNSPECIFIED",
   354              "VISIBILITY_ENUM_VISIBLE",
   355              "VISIBILITY_ENUM_PREVIEW"
   356            ],
   357            "default": "VISIBILITY_ENUM_UNSPECIFIED"
   358          }
   359        ],
   360        "tags": [
   361          "VisibilityRuleEchoService"
   362        ]
   363      }
   364    }
   365  },
   366  "definitions": {
   367    "VisibilityRuleSimpleMessageVisibilityEnum": {
   368      "type": "string",
   369      "enum": [
   370        "VISIBILITY_ENUM_UNSPECIFIED",
   371        "VISIBILITY_ENUM_VISIBLE",
   372        "VISIBILITY_ENUM_PREVIEW"
   373      ],
   374      "default": "VISIBILITY_ENUM_UNSPECIFIED"
   375    },
   376    "examplepbVisibilityRuleEmbedded": {
   377      "type": "object",
   378      "properties": {
   379        "progress": {
   380          "type": "string",
   381          "format": "int64"
   382        },
   383        "note": {
   384          "type": "string"
   385        },
   386        "previewField": {
   387          "type": "string"
   388        }
   389      },
   390      "description": "Embedded represents a message embedded in SimpleMessage."
   391    },
   392    "examplepbVisibilityRuleEnumInPreviewMethod": {
   393      "type": "string",
   394      "enum": [
   395        "VISIBILITY_RULE_ENUM_IN_PREVIEW_METHOD_UNSPECIFIED"
   396      ],
   397      "default": "VISIBILITY_RULE_ENUM_IN_PREVIEW_METHOD_UNSPECIFIED",
   398      "description": "EnumInPreviewMethod doesn't define its own visibility restrictions,\nbut is only included in a method marked as \"PREVIEW\", so it will only\nappear if `visibility_restriction_selectors` include \"PREVIEW\"."
   399    },
   400    "examplepbVisibilityRuleMessageInPreviewMethod": {
   401      "type": "object",
   402      "properties": {
   403        "id": {
   404          "type": "string"
   405        },
   406        "subMessage": {
   407          "$ref": "#/definitions/examplepbVisibilityRuleSubMessageInPreviewMethod"
   408        },
   409        "enum": {
   410          "$ref": "#/definitions/examplepbVisibilityRuleEnumInPreviewMethod"
   411        }
   412      },
   413      "description": "MessageInPreviewMethod doesn't define its own visibility restrictions,\nbut is only included in a method marked as \"PREVIEW\", so it will only\nappear if `visibility_restriction_selectors` include \"PREVIEW\"."
   414    },
   415    "examplepbVisibilityRuleSimpleMessage": {
   416      "type": "object",
   417      "properties": {
   418        "id": {
   419          "type": "string",
   420          "description": "Id represents the message identifier."
   421        },
   422        "num": {
   423          "type": "string",
   424          "format": "int64"
   425        },
   426        "lineNum": {
   427          "type": "string",
   428          "format": "int64"
   429        },
   430        "lang": {
   431          "type": "string"
   432        },
   433        "status": {
   434          "$ref": "#/definitions/examplepbVisibilityRuleEmbedded"
   435        },
   436        "en": {
   437          "type": "string",
   438          "format": "int64"
   439        },
   440        "no": {
   441          "$ref": "#/definitions/examplepbVisibilityRuleEmbedded"
   442        },
   443        "previewField": {
   444          "type": "string"
   445        },
   446        "anEnum": {
   447          "$ref": "#/definitions/VisibilityRuleSimpleMessageVisibilityEnum"
   448        }
   449      },
   450      "description": "SimpleMessage represents a simple message sent to the Echo service."
   451    },
   452    "examplepbVisibilityRuleSubMessageInPreviewMethod": {
   453      "type": "object",
   454      "properties": {
   455        "id": {
   456          "type": "string"
   457        }
   458      },
   459      "description": "SubMessageInPreviewMethod doesn't define its own visibility restrictions,\nbut is only included in a method marked as \"PREVIEW\", so it will only\nappear if `visibility_restriction_selectors` include \"PREVIEW\"."
   460    },
   461    "protobufAny": {
   462      "type": "object",
   463      "properties": {
   464        "@type": {
   465          "type": "string"
   466        }
   467      },
   468      "additionalProperties": {}
   469    },
   470    "rpcStatus": {
   471      "type": "object",
   472      "properties": {
   473        "code": {
   474          "type": "integer",
   475          "format": "int32"
   476        },
   477        "message": {
   478          "type": "string"
   479        },
   480        "details": {
   481          "type": "array",
   482          "items": {
   483            "type": "object",
   484            "$ref": "#/definitions/protobufAny"
   485          }
   486        }
   487      }
   488    }
   489  }
   490}

View as plain text