일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- sqlite3
- Cell Border Style
- 경기도 버스정보시스템
- 디자인 패턴
- Winform
- MDB Select
- C# 파일 암/복호화
- 경기도 버스
- TDD
- 객체지향
- DrawRectangle
- delegate
- MVC
- 시
- c#
- C# MDB Handle
- eventargs
- 공공 데이터 포털
- C# MDB
- solid
- JSON
- Json.NET
- MDB Connect
- GDI+
- eventhandler
- 버스 API
- Excel Cell Format
- WPF
- NUnit
- DrawEllipse
Archives
- Today
- Total
White Whale Studio
[Node.js] API 만들어보기 - 1 본문
반응형
이전 포스팅에서 연결했던 Sqlite DB내용을 API로 제공하도록 구현해보겠습니다.
우선 기존 소스를 수정합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | const sqlite3 = require('sqlite3').verbose(); var treeList = []; // open database in memory let db = new sqlite3.Database('./db/tms.db', (err) => { if (err) { return console.error(err.message); } console.log('Connected to the in-memory SQlite database.'); }); db.serialize(() => { db.each(`SELECT LineNo, SectionNo FROM TB_Tree`, (err, row) => { if (err) { console.error(err.message); } console.log(row.LineNo + "\t" + row.SectionNo); var _LineNo = row.LineNo; var _SectionNo = row.SectionNo; treeList.push({ LineNo:_LineNo, SectionNo:_SectionNo }); }); }); // close the database connection db.close((err) => { if (err) { return console.error(err.message); } console.log('Close the database connection.'); }); exports.treeList = function(){ return treeList; } | cs |
db.serialize() 내부에보면 treeList 라는 컬렉션에다가 json 형식으로 데이터를 push하는 것을 볼수 있습니다.
해당 리스트를 전달하기 위해
exports.treeList = function(){
return treeList;
}
로 전달하고 메인이되는 api.js를 작성해봅니다.
1 2 3 4 5 6 7 8 9 10 11 12 | var http = require('http'); var sqlite = require('./sqliteSample.js'); http.createServer(function (req, res) { var treeList = sqlite.treeList(); res.writeHead(200, {'Content-Type' : 'application/json'}); res.end(JSON.stringify(treeList)); }).listen(8989); | cs |
api.js에서는 아까 작성한 sqliteSample.js를 include하고
var treeList = sqlite.treeList(); 로 읽은 DB를 가지고 옵니다.
그리고 화면에 json 타입으로 쓰기 위해서
res.writeHead(200, {'Content-Type' : 'application/json'});
res.end(JSON.stringify(treeList));
위와 같이 코딩을 합니다.
위 소스를 실행해보면 콘솔에도 출력이 되고 웹페이지에서도 다음과같이 출력됩니다.
반응형
'IT Engineering > MEAN Stack' 카테고리의 다른 글
[Node.js] Sqlite3 (0) | 2018.09.07 |
---|---|
[Node.js] Upload Files (0) | 2018.08.31 |
[Node.js] Events (0) | 2018.08.30 |
[Node.js] NPM : Node Package Manager (0) | 2018.08.30 |
[Node.js] URL Module (0) | 2018.08.30 |
Comments