9

Express.jsアプリケーションで POST json リクエストを検証するモジュールを探しています。

node.js アプリで使用している json スキーマ モジュールは何ですか?

node-validator ( https://github.com/chriso/node-validator ) は文字列でのみ機能するため、ここではオプションではないと思います。

4

4 に答える 4

13

こんにちは、私は最近、express-jsonschemaを書きました。他のバリデーターとの主な違いは次のとおりです。

  1. 検証には標準のjson スキーマを使用します。他のサーバー側言語を作成したことがある場合は、おそらく以前にそれらを使用したことがあるでしょう。
  2. アプリケーションが無効なデータにどのように応答するかは制御しません。それはあなたが好きなようにフックして応答する機会を与えてくれます。私の経験では、これは制御しやすいものです。

express-schema-validatorexpress-validate、および Paperworkはすべて優れています。それぞれにスキーマを宣言する独自の構文があり、アプリが無効なデータ (ステータス コードやデータ構造など) にどのように応答するかを制御します。

幸運を!

于 2015-02-04T21:34:56.400 に答える
4

JSON検証の非常にシンプルなソリューションであるPaperworkを作成しました。次のようなことができます。

app.post('/my/route', paperwork({
  username: /[a-z0-9]+/,
  password: String,
  age: Number,
  interests: [String],
  jobs: [{
    company: String,
    role: String
  },
}, function (req, res) {
  // ...
});

それは検証します:

{
  username: 'brucewayne',
  password: 'iambatman',
  age: 36,
  interests: ['Climbing', 'CQC', 'Cosplay'],
  jobs: [{
    company: 'Wayne Inc.',
    role: 'CEO'
  }]
}

または、何が問題なのかについての情報を含む 400 エラーを黙って応答します。より高度な使用方法については、ドキュメントを確認してください。

于 2013-10-01T14:33:41.083 に答える
2

JSON スキーマ検証ルールを選択する人には、多くのオプションがあります。ここでの良いライブラリ比較: https://github.com/ebdrup/json-schema-benchmark

于 2016-01-22T16:59:22.393 に答える