必要なパスパラメーターを処理するためのサーバーレスの構成

私はサーバーレスに不慣れで、最初のサービスを作成しています。AWSAPIゲートウェイとnode.jsラムダ関数用に構築されています。これを私のserverless.yamlファイルと考えてください

service: applicationCatalog
frameworkVersion: '2'
provider:
  name: aws
  runtime: nodejs12.x
functions:
  listShirts:
    handler: handler.listShirts
    events:
    - httpApi: GET /
  createShirt:
    handler: handler.createShirt
    events:
    - httpApi: POST /
  getShirt:
    handler: handler.getShirt
    events:
    - httpApi:
        method: GET
        path: "/{shirtId}"
        request:
          parameters:
            paths:
              shirtId: true
  deleteShirt:
    handler: handler.deleteShirt
    events:
    - httpApi:
        method: DELETE
        path: "/{shirtId}"
        request:
          parameters:
            paths:
              shirtId: true
resources: {}

関数listShirts、createShirt、およびgetShirtはすべて期待どおりに機能し、deleteShirtもShirtIdが渡されると機能します。問題は、削除時にShirtIdを渡さない場合です。私のサービスURLが「https://shirts.mywardrobeapi.com」であると仮定します。私はこの要求を期待します:

DELETE https://shirts.mywardrobeapi.com

APIゲートウェイからエラー応答をトリガーします。代わりに、deleteShirt関数が呼び出されます。もちろん、この単純なチェックは関数内で処理できますが{ "shirtId" : true }、それがserverless.yamlファイル設定の目的だと思いました。この設定をshirtId必要に応じて処理し、提供されていないときに関数を呼び出さないようにするにはどうすればよいですか?できない場合、この設定のこの目的は何ですか?

elbik

必要なパラメーターを処理するには、Middyバリデーターミドルウェア使用することを勧めします。はい、欠点は、ラムダが常にトリガーされることです。しかし、あなたも得る

  • コード内で必要なパラメータを処理し続ける柔軟性
  • パラメータが間違っていた場合はログをクリアする
  • 発信応答を検証することもできます
  • serverless.yamlをよりクリーンに保ちます

ゲートウェイAPIの正確な構成よりもmiddyの方が好きです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

同じURIでパラメーターなしのRESTサービスとパラメーター化されたRESTサービスを処理する方法

分類Dev

パラメータとリターンアドレスを管理するときにスタックを処理するための適切な規則

分類Dev

パラメータを動的に処理するための構文

分類Dev

サーバー側スクリプトがフラスコで終了するのを待つためのパターン。エラーと早期終了の処理方法

分類Dev

PHPメーラーの構成とスパムフィルターを回避するためのヒント

分類Dev

さまざまな辞書構成を処理するための正しいパターン-Python

分類Dev

コンソール、Webアプリ、ServiceFabricマイクロサービスの構成パラメーターを取得するための共有関数

分類Dev

Reactを構成するための複数のパラメーター

分類Dev

パーサーエラー-エラー処理を自動的に生成するためのパターン

分類Dev

サブクラスの設定を処理するためのデザインパターン?

分類Dev

サーバーレスフレームワーク-AWSSSMパラメータストアを使用するにはどのような権限が必要ですか?

分類Dev

サーバーからの電子メールがスパムフィルターを通過するために必要なものは何ですか?

分類Dev

構成によってサービス定義パラメーターをオーバーライドする

分類Dev

テンプレートベースのパーサーで冗長なタグ名を処理する方法

分類Dev

C#でデータベースを作成するためにサーバー、ユーザー名、パスワードが必要なのはなぜですか?

分類Dev

データベースからデータを取得するためにWebサービスを呼び出すために、データベースのユーザーとパスワードをパラメーターに渡す必要があります

分類Dev

このリクエストを処理するために必要なリソースのコンパイル中にエラーが発生しました。

分類Dev

構成文字列のメソッド連鎖スタイルを読み取るためのカスタム構成パーサーの構築

分類Dev

パンダデータフレームでクラスの不均衡を処理するためのトレーニング例の複製

分類Dev

メソッドに渡される文字列パラメーターの値をトリム/ nullにするためのエレガントな構成

分類Dev

メインフレームデータを処理するためのパターンはありますか?

分類Dev

構成の変更とTCP接続を処理するためのサービスとAsyncTask

分類Dev

壊れたパイプを処理するための単純なHTTPpythonサーバーの作成

分類Dev

Worklight は、リクエストとレスポンスのパラメーターを処理するための安全なメカニズムを提供していますか?

分類Dev

スーパークラスとサブクラスのためのパラメータを渡しますか?

分類Dev

Jettyサーバー-パラメータを使用してGETリクエストを処理する方法

分類Dev

ソースファイルの構造を維持しながら、exeパラメータを介してpngを処理するためのPowershellスクリプト

分類Dev

異なるパラメーターを持つ複数の関数を柔軟に処理できる汎用トラバース関数を作成する

分類Dev

大量のデータを処理するためのDatatableサーバーサイドスクリプト

Related 関連記事

  1. 1

    同じURIでパラメーターなしのRESTサービスとパラメーター化されたRESTサービスを処理する方法

  2. 2

    パラメータとリターンアドレスを管理するときにスタックを処理するための適切な規則

  3. 3

    パラメータを動的に処理するための構文

  4. 4

    サーバー側スクリプトがフラスコで終了するのを待つためのパターン。エラーと早期終了の処理方法

  5. 5

    PHPメーラーの構成とスパムフィルターを回避するためのヒント

  6. 6

    さまざまな辞書構成を処理するための正しいパターン-Python

  7. 7

    コンソール、Webアプリ、ServiceFabricマイクロサービスの構成パラメーターを取得するための共有関数

  8. 8

    Reactを構成するための複数のパラメーター

  9. 9

    パーサーエラー-エラー処理を自動的に生成するためのパターン

  10. 10

    サブクラスの設定を処理するためのデザインパターン?

  11. 11

    サーバーレスフレームワーク-AWSSSMパラメータストアを使用するにはどのような権限が必要ですか?

  12. 12

    サーバーからの電子メールがスパムフィルターを通過するために必要なものは何ですか?

  13. 13

    構成によってサービス定義パラメーターをオーバーライドする

  14. 14

    テンプレートベースのパーサーで冗長なタグ名を処理する方法

  15. 15

    C#でデータベースを作成するためにサーバー、ユーザー名、パスワードが必要なのはなぜですか?

  16. 16

    データベースからデータを取得するためにWebサービスを呼び出すために、データベースのユーザーとパスワードをパラメーターに渡す必要があります

  17. 17

    このリクエストを処理するために必要なリソースのコンパイル中にエラーが発生しました。

  18. 18

    構成文字列のメソッド連鎖スタイルを読み取るためのカスタム構成パーサーの構築

  19. 19

    パンダデータフレームでクラスの不均衡を処理するためのトレーニング例の複製

  20. 20

    メソッドに渡される文字列パラメーターの値をトリム/ nullにするためのエレガントな構成

  21. 21

    メインフレームデータを処理するためのパターンはありますか?

  22. 22

    構成の変更とTCP接続を処理するためのサービスとAsyncTask

  23. 23

    壊れたパイプを処理するための単純なHTTPpythonサーバーの作成

  24. 24

    Worklight は、リクエストとレスポンスのパラメーターを処理するための安全なメカニズムを提供していますか?

  25. 25

    スーパークラスとサブクラスのためのパラメータを渡しますか?

  26. 26

    Jettyサーバー-パラメータを使用してGETリクエストを処理する方法

  27. 27

    ソースファイルの構造を維持しながら、exeパラメータを介してpngを処理するためのPowershellスクリプト

  28. 28

    異なるパラメーターを持つ複数の関数を柔軟に処理できる汎用トラバース関数を作成する

  29. 29

    大量のデータを処理するためのDatatableサーバーサイドスクリプト

ホットタグ

アーカイブ