OpenAPI 仕様を作成する

このチュートリアルでは、ターゲット サーバーを呼び出す API をモデル化する OpenAPI 仕様を作成します。ターゲット サーバーは、マシンで実行される非常にシンプルな Node.js ベースのサーバーから構成されています。このチュートリアルは 10 分ほどで終わります。

演習内容

このチュートリアルでは、次の方法を学習します。

必要なもの

始める前に次のものを用意してください。

シンプルな Node.js サーバーを作成する

シンプルな Node.js サーバーを作成するには:

  1. index.js というファイルを作成します。
  2. 次の Node.js コードをファイルにコピーします。

    var express = require('express');
    var app = express();
    
    app.get('/v1/hello', function (req, res) {
      res.setHeader("Access-Control-Allow-Origin", "*");
      res.send('Hello World!\n');
    });
    
    app.listen(3000, function () {
      console.log('Example app listening on port 3000!');
    });
    
  3. ファイルを保存します。

  4. 必要な Express モジュールをインストールします。

    npm install express
    
  5. サーバーを開始します。

    $node index.js
    Example app listening on port 3000!
    

    サーバーはポート 3000 で実行されます。

  6. 次の HTTP リクエストを送信して API をテストします。

    curl localhost:3000/v1/hello
    

    API から「Hello World!」が返されます。

OpenAPI 仕様を作成する

Node.js サーバーを呼び出す API をモデル化する OpenAPI 仕様を作成するには:

  1. apigee.com/edge にログインします。
  2. サイド ナビゲーション バーメニューで、[Develop] > [Specs] の順に選択します。
    仕様のリストが表示されます。
  3. [+ Spec] をクリックして、プルダウン メニューから [New Spec] を選択します。

  4. 次の YAML コンテンツをコピーします。

    swagger: "2.0"
    info:
      version: "0.0.1"
      title: Hello World API
    host: 127.0.0.1:3000
    basePath: /v1
    schemes:
      - http
    consumes:
     - application/json
    produces:
      - application/json
    paths:
      '/hello':
        get:
          description: Returns greetings to the caller
          operationId: hello
          responses:
            "200":
              description: Success
              schema:
                $ref: "#/definitions/HelloWorldResponse"
            default:
              description: Error
              schema:
                $ref: "#/definitions/ErrorResponse"
    definitions:
      HelloWorldResponse:
        required:
          - message
        properties:
          message:
            type: string
          age:
            type: number
      ErrorResponse:
        required:
          - message
        properties:
          message:
            type: string
    
    
  5. この YAML コンテンツをエディタの左ペインに貼り付けます(現在の内容は上書きされます)。

    : 次の方法でも同じ操作を実行できます。エディタの左ペインを右クリックして [Select All] を選択し、現在の内容をハイライト表示します。再度右クリックして [Paste] 選択します。仕様のドキュメントが右ペインに表示されます。

  6. [Save] をクリックします。
    仕様の名前を入力するように求められます。

  7. 仕様の名前を入力します。例: simple-spec

  8. [Continue] をクリックします。
    仕様が保存されます。

  9. [Close] をクリックして仕様を閉じます。仕様のリストに戻ります。

仕様のリストに新しい仕様が表示されます。

次のステップ

これで完了です。これで、ターゲット サーバーを呼び出す API をモデル化する OpenAPI 仕様が作成されました。

次に、OpenAPI 仕様から Edge API プロキシを作成する方法を学習します。