1

次の単純な swagger.json ファイルがあります。これは、golang サービスの go-swagger アノテーションを使用して生成されます。redoc を使用して UI ページを実行できます。

swagger-uiで表示したいのですがうまくいきません。ページの読み込み時にコンソールにエラーが表示されます

Uncaught TypeError: Cannot create property 'definitions' on string 'swagger.json'(…)

window.swaggerUi = new SwaggerUi({
        spec: "swagger.json",
        dom_id: "swagger-ui-container",
        supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
        onComplete: function(swaggerApi, swaggerUi){
          log("Loaded UI")
        },
        onFailure: function(data) {
          log("Unable to Load SwaggerUI");
        },
        docExpansion: "none",
        jsonEditor: false,
        defaultModelRendering: 'schema',
        showRequestHeaders: false
      });

window.swaggerUi.load();

なぜそれが起こっているのかわからない

再ドックページは次のように表示されます ここに画像の説明を入力

これはswaggerファイルです

{
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "schemes": [
    "http",
    "https"
  ],
  "swagger": "2.0",
  "info": {
    "description": "the purpose of this service is to do a health check",
    "title": "Health Check API.",
    "termsOfService": "TOS",
    "contact": {
      "name": "Backend",
      "email": "Backend@company.com"
    },
    "license": {
      "name": "Company Licence"
    },
    "version": "0.0.1"
  },
  "host": "host.com",
  "basePath": "/",
  "paths": {
    "/health": {
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "http",
          "https"
        ],
        "summary": "Health check route.",
        "operationId": "health",
        "responses": {}
      }
    }
  },
  "definitions": {}
}
4

1 に答える 1