...

Text file src/github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb/visibility_rule_internal_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      "name": "VisibilityRuleInternalEchoService"
    14    }
    15  ],
    16  "consumes": [
    17    "application/json"
    18  ],
    19  "produces": [
    20    "application/json"
    21  ],
    22  "paths": {
    23    "/v1/example/echo/{id}": {
    24      "post": {
    25        "summary": "Echo method receives a simple message and returns it.\nIt should always be visible in the open API output.",
    26        "operationId": "VisibilityRuleEchoService_Echo",
    27        "responses": {
    28          "200": {
    29            "description": "A successful response.",
    30            "schema": {
    31              "$ref": "#/definitions/examplepbVisibilityRuleSimpleMessage"
    32            }
    33          },
    34          "default": {
    35            "description": "An unexpected error response.",
    36            "schema": {
    37              "$ref": "#/definitions/rpcStatus"
    38            }
    39          }
    40        },
    41        "parameters": [
    42          {
    43            "name": "id",
    44            "description": "Id represents the message identifier.",
    45            "in": "path",
    46            "required": true,
    47            "type": "string"
    48          },
    49          {
    50            "name": "num",
    51            "in": "query",
    52            "required": false,
    53            "type": "string",
    54            "format": "int64"
    55          },
    56          {
    57            "name": "lineNum",
    58            "in": "query",
    59            "required": false,
    60            "type": "string",
    61            "format": "int64"
    62          },
    63          {
    64            "name": "lang",
    65            "in": "query",
    66            "required": false,
    67            "type": "string"
    68          },
    69          {
    70            "name": "status.progress",
    71            "in": "query",
    72            "required": false,
    73            "type": "string",
    74            "format": "int64"
    75          },
    76          {
    77            "name": "status.note",
    78            "in": "query",
    79            "required": false,
    80            "type": "string"
    81          },
    82          {
    83            "name": "status.internalField",
    84            "in": "query",
    85            "required": false,
    86            "type": "string"
    87          },
    88          {
    89            "name": "status.previewField",
    90            "in": "query",
    91            "required": false,
    92            "type": "string"
    93          },
    94          {
    95            "name": "en",
    96            "in": "query",
    97            "required": false,
    98            "type": "string",
    99            "format": "int64"
   100          },
   101          {
   102            "name": "no.progress",
   103            "in": "query",
   104            "required": false,
   105            "type": "string",
   106            "format": "int64"
   107          },
   108          {
   109            "name": "no.note",
   110            "in": "query",
   111            "required": false,
   112            "type": "string"
   113          },
   114          {
   115            "name": "no.internalField",
   116            "in": "query",
   117            "required": false,
   118            "type": "string"
   119          },
   120          {
   121            "name": "no.previewField",
   122            "in": "query",
   123            "required": false,
   124            "type": "string"
   125          },
   126          {
   127            "name": "internalField",
   128            "in": "query",
   129            "required": false,
   130            "type": "string"
   131          },
   132          {
   133            "name": "previewField",
   134            "in": "query",
   135            "required": false,
   136            "type": "string"
   137          },
   138          {
   139            "name": "anEnum",
   140            "in": "query",
   141            "required": false,
   142            "type": "string",
   143            "enum": [
   144              "VISIBILITY_ENUM_UNSPECIFIED",
   145              "VISIBILITY_ENUM_VISIBLE",
   146              "VISIBILITY_ENUM_INTERNAL",
   147              "VISIBILITY_ENUM_PREVIEW"
   148            ],
   149            "default": "VISIBILITY_ENUM_UNSPECIFIED"
   150          }
   151        ],
   152        "tags": [
   153          "VisibilityRuleEchoService"
   154        ]
   155      }
   156    },
   157    "/v1/example/echo_internal": {
   158      "get": {
   159        "summary": "EchoInternal is an internal API that should only be visible in the OpenAPI spec\nif `visibility_restriction_selectors` includes \"INTERNAL\".",
   160        "operationId": "VisibilityRuleEchoService_EchoInternal",
   161        "responses": {
   162          "200": {
   163            "description": "A successful response.",
   164            "schema": {
   165              "$ref": "#/definitions/examplepbVisibilityRuleSimpleMessage"
   166            }
   167          },
   168          "default": {
   169            "description": "An unexpected error response.",
   170            "schema": {
   171              "$ref": "#/definitions/rpcStatus"
   172            }
   173          }
   174        },
   175        "parameters": [
   176          {
   177            "name": "id",
   178            "description": "Id represents the message identifier.",
   179            "in": "query",
   180            "required": false,
   181            "type": "string"
   182          },
   183          {
   184            "name": "num",
   185            "in": "query",
   186            "required": false,
   187            "type": "string",
   188            "format": "int64"
   189          },
   190          {
   191            "name": "lineNum",
   192            "in": "query",
   193            "required": false,
   194            "type": "string",
   195            "format": "int64"
   196          },
   197          {
   198            "name": "lang",
   199            "in": "query",
   200            "required": false,
   201            "type": "string"
   202          },
   203          {
   204            "name": "status.progress",
   205            "in": "query",
   206            "required": false,
   207            "type": "string",
   208            "format": "int64"
   209          },
   210          {
   211            "name": "status.note",
   212            "in": "query",
   213            "required": false,
   214            "type": "string"
   215          },
   216          {
   217            "name": "status.internalField",
   218            "in": "query",
   219            "required": false,
   220            "type": "string"
   221          },
   222          {
   223            "name": "status.previewField",
   224            "in": "query",
   225            "required": false,
   226            "type": "string"
   227          },
   228          {
   229            "name": "en",
   230            "in": "query",
   231            "required": false,
   232            "type": "string",
   233            "format": "int64"
   234          },
   235          {
   236            "name": "no.progress",
   237            "in": "query",
   238            "required": false,
   239            "type": "string",
   240            "format": "int64"
   241          },
   242          {
   243            "name": "no.note",
   244            "in": "query",
   245            "required": false,
   246            "type": "string"
   247          },
   248          {
   249            "name": "no.internalField",
   250            "in": "query",
   251            "required": false,
   252            "type": "string"
   253          },
   254          {
   255            "name": "no.previewField",
   256            "in": "query",
   257            "required": false,
   258            "type": "string"
   259          },
   260          {
   261            "name": "internalField",
   262            "in": "query",
   263            "required": false,
   264            "type": "string"
   265          },
   266          {
   267            "name": "previewField",
   268            "in": "query",
   269            "required": false,
   270            "type": "string"
   271          },
   272          {
   273            "name": "anEnum",
   274            "in": "query",
   275            "required": false,
   276            "type": "string",
   277            "enum": [
   278              "VISIBILITY_ENUM_UNSPECIFIED",
   279              "VISIBILITY_ENUM_VISIBLE",
   280              "VISIBILITY_ENUM_INTERNAL",
   281              "VISIBILITY_ENUM_PREVIEW"
   282            ],
   283            "default": "VISIBILITY_ENUM_UNSPECIFIED"
   284          }
   285        ],
   286        "tags": [
   287          "VisibilityRuleEchoService"
   288        ]
   289      }
   290    },
   291    "/v1/example/echo_internal_and_preview": {
   292      "get": {
   293        "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\".",
   294        "operationId": "VisibilityRuleEchoService_EchoInternalAndPreview",
   295        "responses": {
   296          "200": {
   297            "description": "A successful response.",
   298            "schema": {
   299              "$ref": "#/definitions/examplepbVisibilityRuleSimpleMessage"
   300            }
   301          },
   302          "default": {
   303            "description": "An unexpected error response.",
   304            "schema": {
   305              "$ref": "#/definitions/rpcStatus"
   306            }
   307          }
   308        },
   309        "parameters": [
   310          {
   311            "name": "id",
   312            "description": "Id represents the message identifier.",
   313            "in": "query",
   314            "required": false,
   315            "type": "string"
   316          },
   317          {
   318            "name": "num",
   319            "in": "query",
   320            "required": false,
   321            "type": "string",
   322            "format": "int64"
   323          },
   324          {
   325            "name": "lineNum",
   326            "in": "query",
   327            "required": false,
   328            "type": "string",
   329            "format": "int64"
   330          },
   331          {
   332            "name": "lang",
   333            "in": "query",
   334            "required": false,
   335            "type": "string"
   336          },
   337          {
   338            "name": "status.progress",
   339            "in": "query",
   340            "required": false,
   341            "type": "string",
   342            "format": "int64"
   343          },
   344          {
   345            "name": "status.note",
   346            "in": "query",
   347            "required": false,
   348            "type": "string"
   349          },
   350          {
   351            "name": "status.internalField",
   352            "in": "query",
   353            "required": false,
   354            "type": "string"
   355          },
   356          {
   357            "name": "status.previewField",
   358            "in": "query",
   359            "required": false,
   360            "type": "string"
   361          },
   362          {
   363            "name": "en",
   364            "in": "query",
   365            "required": false,
   366            "type": "string",
   367            "format": "int64"
   368          },
   369          {
   370            "name": "no.progress",
   371            "in": "query",
   372            "required": false,
   373            "type": "string",
   374            "format": "int64"
   375          },
   376          {
   377            "name": "no.note",
   378            "in": "query",
   379            "required": false,
   380            "type": "string"
   381          },
   382          {
   383            "name": "no.internalField",
   384            "in": "query",
   385            "required": false,
   386            "type": "string"
   387          },
   388          {
   389            "name": "no.previewField",
   390            "in": "query",
   391            "required": false,
   392            "type": "string"
   393          },
   394          {
   395            "name": "internalField",
   396            "in": "query",
   397            "required": false,
   398            "type": "string"
   399          },
   400          {
   401            "name": "previewField",
   402            "in": "query",
   403            "required": false,
   404            "type": "string"
   405          },
   406          {
   407            "name": "anEnum",
   408            "in": "query",
   409            "required": false,
   410            "type": "string",
   411            "enum": [
   412              "VISIBILITY_ENUM_UNSPECIFIED",
   413              "VISIBILITY_ENUM_VISIBLE",
   414              "VISIBILITY_ENUM_INTERNAL",
   415              "VISIBILITY_ENUM_PREVIEW"
   416            ],
   417            "default": "VISIBILITY_ENUM_UNSPECIFIED"
   418          }
   419        ],
   420        "tags": [
   421          "VisibilityRuleEchoService"
   422        ]
   423      }
   424    },
   425    "/v1/example/internal/echo/{id}": {
   426      "post": {
   427        "summary": "Echo method receives a simple message and returns it.\nIt should not be visible in the open API output.",
   428        "operationId": "VisibilityRuleInternalEchoService_Echo",
   429        "responses": {
   430          "200": {
   431            "description": "A successful response.",
   432            "schema": {
   433              "$ref": "#/definitions/examplepbVisibilityRuleSimpleMessage"
   434            }
   435          },
   436          "default": {
   437            "description": "An unexpected error response.",
   438            "schema": {
   439              "$ref": "#/definitions/rpcStatus"
   440            }
   441          }
   442        },
   443        "parameters": [
   444          {
   445            "name": "id",
   446            "description": "Id represents the message identifier.",
   447            "in": "path",
   448            "required": true,
   449            "type": "string"
   450          },
   451          {
   452            "name": "num",
   453            "in": "query",
   454            "required": false,
   455            "type": "string",
   456            "format": "int64"
   457          },
   458          {
   459            "name": "lineNum",
   460            "in": "query",
   461            "required": false,
   462            "type": "string",
   463            "format": "int64"
   464          },
   465          {
   466            "name": "lang",
   467            "in": "query",
   468            "required": false,
   469            "type": "string"
   470          },
   471          {
   472            "name": "status.progress",
   473            "in": "query",
   474            "required": false,
   475            "type": "string",
   476            "format": "int64"
   477          },
   478          {
   479            "name": "status.note",
   480            "in": "query",
   481            "required": false,
   482            "type": "string"
   483          },
   484          {
   485            "name": "status.internalField",
   486            "in": "query",
   487            "required": false,
   488            "type": "string"
   489          },
   490          {
   491            "name": "status.previewField",
   492            "in": "query",
   493            "required": false,
   494            "type": "string"
   495          },
   496          {
   497            "name": "en",
   498            "in": "query",
   499            "required": false,
   500            "type": "string",
   501            "format": "int64"
   502          },
   503          {
   504            "name": "no.progress",
   505            "in": "query",
   506            "required": false,
   507            "type": "string",
   508            "format": "int64"
   509          },
   510          {
   511            "name": "no.note",
   512            "in": "query",
   513            "required": false,
   514            "type": "string"
   515          },
   516          {
   517            "name": "no.internalField",
   518            "in": "query",
   519            "required": false,
   520            "type": "string"
   521          },
   522          {
   523            "name": "no.previewField",
   524            "in": "query",
   525            "required": false,
   526            "type": "string"
   527          },
   528          {
   529            "name": "internalField",
   530            "in": "query",
   531            "required": false,
   532            "type": "string"
   533          },
   534          {
   535            "name": "previewField",
   536            "in": "query",
   537            "required": false,
   538            "type": "string"
   539          },
   540          {
   541            "name": "anEnum",
   542            "in": "query",
   543            "required": false,
   544            "type": "string",
   545            "enum": [
   546              "VISIBILITY_ENUM_UNSPECIFIED",
   547              "VISIBILITY_ENUM_VISIBLE",
   548              "VISIBILITY_ENUM_INTERNAL",
   549              "VISIBILITY_ENUM_PREVIEW"
   550            ],
   551            "default": "VISIBILITY_ENUM_UNSPECIFIED"
   552          }
   553        ],
   554        "tags": [
   555          "VisibilityRuleInternalEchoService"
   556        ]
   557      }
   558    }
   559  },
   560  "definitions": {
   561    "VisibilityRuleSimpleMessageVisibilityEnum": {
   562      "type": "string",
   563      "enum": [
   564        "VISIBILITY_ENUM_UNSPECIFIED",
   565        "VISIBILITY_ENUM_VISIBLE",
   566        "VISIBILITY_ENUM_INTERNAL",
   567        "VISIBILITY_ENUM_PREVIEW"
   568      ],
   569      "default": "VISIBILITY_ENUM_UNSPECIFIED"
   570    },
   571    "examplepbVisibilityRuleEmbedded": {
   572      "type": "object",
   573      "properties": {
   574        "progress": {
   575          "type": "string",
   576          "format": "int64"
   577        },
   578        "note": {
   579          "type": "string"
   580        },
   581        "internalField": {
   582          "type": "string"
   583        },
   584        "previewField": {
   585          "type": "string"
   586        }
   587      },
   588      "description": "Embedded represents a message embedded in SimpleMessage."
   589    },
   590    "examplepbVisibilityRuleSimpleMessage": {
   591      "type": "object",
   592      "properties": {
   593        "id": {
   594          "type": "string",
   595          "description": "Id represents the message identifier."
   596        },
   597        "num": {
   598          "type": "string",
   599          "format": "int64"
   600        },
   601        "lineNum": {
   602          "type": "string",
   603          "format": "int64"
   604        },
   605        "lang": {
   606          "type": "string"
   607        },
   608        "status": {
   609          "$ref": "#/definitions/examplepbVisibilityRuleEmbedded"
   610        },
   611        "en": {
   612          "type": "string",
   613          "format": "int64"
   614        },
   615        "no": {
   616          "$ref": "#/definitions/examplepbVisibilityRuleEmbedded"
   617        },
   618        "internalField": {
   619          "type": "string"
   620        },
   621        "previewField": {
   622          "type": "string"
   623        },
   624        "anEnum": {
   625          "$ref": "#/definitions/VisibilityRuleSimpleMessageVisibilityEnum"
   626        }
   627      },
   628      "description": "SimpleMessage represents a simple message sent to the Echo service."
   629    },
   630    "protobufAny": {
   631      "type": "object",
   632      "properties": {
   633        "@type": {
   634          "type": "string"
   635        }
   636      },
   637      "additionalProperties": {}
   638    },
   639    "rpcStatus": {
   640      "type": "object",
   641      "properties": {
   642        "code": {
   643          "type": "integer",
   644          "format": "int32"
   645        },
   646        "message": {
   647          "type": "string"
   648        },
   649        "details": {
   650          "type": "array",
   651          "items": {
   652            "type": "object",
   653            "$ref": "#/definitions/protobufAny"
   654          }
   655        }
   656      }
   657    }
   658  }
   659}

View as plain text