kreativ_25
@kreativ_25

Как в приложении обращаться к API написанном на express.js?

Всем привет!
Я написал тестовое API с помощью express.js
При ручном вводе на localhost адреса api все отлично работает.

Все не могу понять как мне в самом приложении обращаться к данному API?
Какой адрес указывать, чтобы в продакшен версии все хорошо работало?
И для чего люди пишут модели и контроллеры в node.js при разработке API?


Очень нуждаюсь в помощи. Достаточно много времени потратил на это. Нужен сильный пинок :)
Заранее благодарю!

------------
Принципиально не хочу писать API на PHP - решил от данного способа отказаться раз и на всегда.

пример кода

const mysqlConnection = require('./config/database.js')
const express = require('express');
const bodyparser = require('body-parser');

const PORT = process.env.PORT || process.env.DB_PORT;

var app = express();
app.use(bodyparser.json());

async function start(){
    try{
        await mysqlConnection.connect((err) =>{
            if(!err){
                console.log('Подключился к MySQL');
            }else{
                console.log('НЕТ подключения к MySQL: ' + JSON.stringify(err,undefined,2));
            };
            app.listen(PORT,()=>{
                console.log('Express сервер запущен - работает порт: ' + process.env.DB_PORT);
            });
        });
    }catch(err){
        console.log('ОШИБКА ЗАПУСКА СЕРВЕРА: ' + err);
    }
}

start();

//простой запрос
app.get('/mbk',(req, res)=>{
    mysqlConnection.query('SELECT * FROM table_mf_depo', (err, rows, fields)=>{
        if(!err){
            res.send(rows);
        }else{
            console.log(err);
        }
    })
});


  • Вопрос задан
  • 108 просмотров
Пригласить эксперта
Ответы на вопрос 1
@historydev Куратор тега JavaScript
Острая аллергия на анимешников
Кидайте с клиента запрос:

async function sendAndGetData(data) {

       let response = await fetch('/', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({
                data: data
            })
        });

        response = await response.json;

        console.log(`${response.id} / ${response.data}`);

}


А на сервере обрабатывайте:

let counter = 0;

app.post('/', (req,res) => {

counter += 1;

res.send({

   id: counter,
   data: `Client data: ${req.body.data} / Query id: ${counter}`

})

})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы