-1

Joi パッケージを使用して、Hapi Node サーバーで POST および PUT 要求を検証しようとしています。

それは正しい方法ですか?

'use strict';

var Joi = require('joi'),
    Id = Joi.number().positive().required(),
    Firstname = Joi.string().min(3).max(15),
    Lastname = Joi.string().min(3).max(15),
    Email = Joi.string().email(),
    Username = Joi.string().min(3).max(15);


exports.create = {
    payload: {
        firstname: Firstname.required(),
        lastname: Lastname.required(),
        email: Email.required(),
                username: Username.required()
    }
};
exports.findById = {
    params: {
        userId: Id
    }
};
exports.update = {
    params: {
        userId: Id
    },
    payload:   Joi.object().keys({
        firstname: Firstname,
        lastname: Lastname,
        email: Email,
                username: Username
    }).or('firstname','lastname','email','username')
};
4

1 に答える 1

0

もちろん、検証チェックをモジュール化できます。

あなたの設定では、次のように使用できるはずです:

server.route({
  method: 'POST',
  path: '/find/{userId}',
  config: {
    validate: {
        findById  // this is defined by your code => exports.findById
    },
    handler: function (req, reply) {
        reply({
            receivedUserId: req.params.userId
        })
    }
  }
});
于 2016-02-21T01:35:18.710 に答える