Node-JS выставляет Mysql DB в качестве службы отдыха - PullRequest
0 голосов
/ 03 июля 2018

Я очень новичок в NodeJ и пытаюсь создать подход здесь

Мы создаем приложение с Oracle JET (javascript Framework), и у нас есть базы данных Mysql в качестве бэкэнда для нашего приложения

Моя задача - создать REST API из Mysql, используя NODEJS

Как начинающему, как мне подойти к этому?

Какие темы нужно изучить в Node js, чтобы это сделать?

Могут ли хранимые процедуры также быть представлены как API отдыха?

Любая помощь

Спасибо

1 Ответ

0 голосов
/ 03 июля 2018

Довольно просто вернуть результаты mysql с помощью Express, это не займет много строк кода:

 const express = require("express");
const mysql   = require('mysql');

const connection = mysql.createConnection({
    host     : 'localhost',
    user     : 'root',
    password : 'root',
    database : 'my_db'
});

connection.connect((err) => {
     if(err) {
         console.error("Error connecting to db: ", err); 
     } else {
         console.log("Connected to db successfully"); 
     }
});

const app = express();

app.get("/users", (req,res) => {

    connection.query('SELECT * FROM Users', (err, rows, fields) => {

        if (err) {
            console.error('Error while performing query: ', err);
        } else {
            console.log('Result: ', rows);
            // Send to caller as json
            res.json(rows);
        }

    });
});

// Call Stored Proc 'GetUsers'
app.get("/get_users", (req,res) => {

    connection.query('CALL GetUsers()', (err, rows, fields) => {

        if (err) {
            console.error('Error while performing query: ', err);
        } else {
            console.log('Result: ', rows);
            // Send to caller as json
            res.json(rows);
        }

    });
});

app.listen(3000);

Вы можете сделать запрос, используя Curl (или ваш браузер), перейдя на http://localhost:3000/users, например,

curl http://localhost:3000/users

Вы получите такой результат:

[{
    "firstName": "Craig",
    "lastName": "Michaels"
},
{
    "firstName": "Jim",
    "lastName": "Thomson"
},
{
    "firstName": "Abigail",
    "lastName": "Moore"
}]

Я добавил path / get_users, который вызывает хранимую процедуру GetUsers () (определено как показано ниже):

DROP PROCEDURE IF EXISTS GetUsers; 
DELIMITER // 
CREATE PROCEDURE GetUsers() 
BEGIN 
    SELECT * from Users ;
END // 
DELIMITER ;

Таблица пользователей выглядит так:

create table users ( firstName varchar(100), lastName varchar(100)  );

Мы можем позвонить по этому номеру:

curl http://localhost:3000/get_users
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...