Nodejs + Socket.io 질문드립니다.
-
게시물 수정 , 삭제는 로그인 필요
Node.js + express + mssql로 localhost:xxxx로 접속했을때 해당 db table의 내용을 json형태로 가져오는건 테스트 완료했습니다
아래는 DB 조회 예제입니다.
dbcoinfig.js
-------------------------------------------------------------------------------------
const config = {
user: 'id', // sql user
password: 'pasword', //sql user password
server: 'ip', // if it does not work try- localhost
database: 'database',
options: {
trustedconnection: true,
enableArithAbort: true,
instancename: 'instance' // SQL Server instance name
},
port: 1433
}
module.exports = config;
-------------------------------------------------------------------------------------
order.js
----------------------------------------------------------------------------------------------------
class userlist{
constructor(id,sung,email){
this.id = id;
this.sung = sung;
this.email = email;
}
}
module.exports = userlist;
-------------------------------------------------------------------------------------
dboperations.js
-------------------------------------------------------------------------------------
var config = require('./dbconfig');
const sql = require('mssql');
async function getOrders() {
try {
let pool = await sql.connect(config);
let products = await pool.request().query("SELECT * from userlist");
return products.recordsets;
}
catch (error) {
console.log(error);
}
}
async function getOrder(userid) {
try {
let pool = await sql.connect(config);
let product = await pool.request()
.input('input_parameter', sql.Int, userid)
.query("SELECT * from userlist where Id = @input_parameter");
return product.recordsets;
}
catch (error) {
console.log(error);
}
}
module.exports = {
getOrders: getOrders,
getOrder: getOrder
}
-------------------------------------------------------------------------------------
api.js
-------------------------------------------------------------------------------------
var Db = require('./dboperations');
var Order = require('./order');
var express = require('express');
var bodyParser = require('body-parser');
var cors = require('cors');
var app = express();
var router = express.Router();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(cors());
app.use('/api', router);
router.use((request, response, next) => {
console.log('middleware');
next();
});
router.route('/orders').get((request, response) => {
Db.getOrders().then((data) => {
response.json(data[0]);
})
})
router.route('/orders/:id').get((request, response) => {
Db.getOrder(request.params.id).then((data) => {
response.json(data[0]);
})
})
var port = process.env.PORT || 8090;
app.listen(port);
console.log('Order API is runnning at ' + port);
-------------------------------------------------------------------------------------
위와 같이 세팅하고 node api.js 실행하면..
브라우저에 localhost:xxxx//api/orders/ 실행시 json형태로 테이블 값들이 출력되고 있습니다.
이건 예제 일뿐이고...실제로 구현 하고 싶은건
text.html 파일을 하나 만들고....서버와 connection 되어 있다가 MS SQL의 특정 테이블에 값이 변경되거나 insert 되면 연결된 클라리언트로 값을 보내어....프론트단에서 UI적으로 변경을 알려주고 싶습니다.
socket.io를 어떤식으로 적용하고 해야할지 감이 없네요...
단순한 예제나 팁이라도 주시면 감사하겠습니다.
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
#nodejs + react #nodejs + express #nodejs + typescript #nodejs + vuejs #nodejs + python #node js + next js #nodejs download #nodejs mysql #nodejs lts #nodejs fetch