В чем разница между export.create и router.post? - PullRequest
0 голосов
/ 20 февраля 2019

Я видел 2 способа создания успокоительного API.

1: «export.create», и как только вы добавите код в почтальон, вы должны добавить его в формате json.

2: «router.post», который, как я понимаю, использует экспресс, и когда вы добавляете код в почтальон, вы добавляете его, используя 'x-www-form-urlencoded'

В чем разница?

router.post("/", (req, res) => {
    if(!req.body.certifications,
       !req.body.memberships,
       !req.body.hobbies,
       !req.body.interests) {
        res.status(400)
        res.json({
            error: "Bad Data"
        })
    } else {
       Basic.create(req.body)
        .then(() => {
            res.send("Basic Added")
        })
        .catch(err => {
            res.send("Error: " + err)
        })
    }
})

------------------------------------------

exports.create = (req, res) => {
    var customer;
    Customer.create({
       firstname: req.body.firstname,
       lastname: req.body.lastname,
       age: req.body.age 
    }).then(createdCustomer => {
        // Send  Created Customer to client
        customer = createdCustomer;

        return Address.create({
           street: req.body.street,
           phone: req.body.phone
        })
    }).then(address => {
        customer.setAddress(address)
        res.send('OK'); 
    })
};

1 Ответ

0 голосов
/ 20 февраля 2019

exports.create просто экспортирует метод как часть commonjs модуля, который затем можно использовать с router.post в другом файле.

Примерно так:

const { create } = require('./the_file_name.js');
router.post('/', create);
...