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
          - https
        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 プロキシを作成する方法を学習します。