Аксиос и мангуст для создания API - PullRequest
1 голос
/ 02 октября 2019

Могу ли я использовать axios и mongoose для создания API? Это потому, что я новичок в серверной разработке, поэтому я попробовал и у меня появилась ошибка, как показано ниже, я пытался создать API с axios и mongoose, но я не знаю, смогу ли я использовать их вместе, я быллюбезно проверить этот код, чтобы увидеть, работают ли они, но, видимо, нетТаким образом, любое предложение, чтобы код лучше или это правильно, что я делаю, есть другой способ? Я уверен, что есть, но какую рекомендацию вы, ребята, можете сделать.

Я хочу создать два отдельных файла, один для контроллеров, таких как "product.controller", и использовать мой API для выполнения всех запросов, которые могут выполнять мои разные контроллеры. нужно

Error: socket hang up
    at createHangUpError (_http_client.js:323:15)
    at Socket.socketOnEnd (_http_client.js:426:23)
    at Socket.emit (events.js:203:15)
    at endReadableNT (_stream_readable.js:1145:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)

product.controller.js

const Product = require('../models/product.model');
const api = require('../api/api');
mongoose = require('mongoose').set('debug', true);

// To create a new Product
exports.create = async (req, res) => {
    const product = await api.create('/product', req.body);
    res.status(201).send({ message: 'The product has been created successfully !', product });
  };

api.js

const axios = require('axios');
const baseURL = require('../config/database');


const list = async(key) =>{
    const content = await axios.get(baseURL.local.urlDataBase + key +'.json')
    if(content.data){
        const objects = Object
                                .keys(content.data)
                                .map(key=>{
                                    return{
                                        id: key,
                                        ...content.data[key]
                                    }
                                })
            return objects
    }
    return []
}

const get = async(key, id) => {
    const content = await axios.get(`${baseURL.local.urlDataBase}/${key}/${id}.json`)
    return {
        id: id,
        ...content.data
    }
}

 const create = async(key, data) =>{
    await axios.post(`${baseURL.local.urlDataBase}/${key}.json`, data)
    return true
} 

module.exports = {
    list, create
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...