※ 1. node.js 실습 - 레스토랑 메뉴
// 모듈 추출
var http = require('http');
var express = require('express');
var bodyParser = require('body-parser');
// 변수를 선언합니다.
var resmenu=[{
name: '뉴욕 스트립 스테이크',
price: '37,000'
},{
name:'엠파이어 스테이크',
price: '67,000'
},{
name:'시그니처 스테이크 & 쉬림프',
price:'41,000'
}];
// 웹 서버 생성
var app = express();
app.use(express.static('homepage'));
app.use(bodyParser.urlencoded({extended: false}));
app.get('/menus', function(request,response){
response.send(resmenu);
});
app.get('/menus/:id', function(request,response){
// 변수를 선언합니다.
var id = Number(request.params.id);
if(isNaN(id)){
// 오류: 잘못된 경로
response.send({
error: '숫자를 입력하세요!'
});
}else if(resmenu[id]){
// 정상
response.send(resmenu[id]);
}else{
// 오류 : 요소가 없을 경우
response.send({
error : '존재하지 않는 데이터입니다.!'
});
}
});
app.post('/menus', function(request,response){
// 변수를 선언합니다.
var name = request.body.name;
var price = request.body.price;
var item ={
name: name,
price: price
};
// 데이터를 추가합니다.
resmenu.push(item);
// 응답합니다.
response.send({
message: '데이터를 추가했습니다.',
data : item
});
});
/*
웹사이트 (레스토랑 관리시스템) 만들기
- client html
- server program : 조회, 추가, 삭제, 수정
- 내용 : restaurant 이름, 메뉴, 가격
*/
app.put('/menus/:id', function (request, response) {
// 변수를 선언합니다.
var id = Number(request.params.id);
var name = request.body.name;
var price = request.body.price;
if (resmenu[id]) {
// 데이터를 수정합니다.
if (name) { resmenu[id].name = name; }
if (price) { resmenu[id].price = price; }
// 응답합니다.
response.send({
message: '데이터를 수정했습니다.',
data: resmenu[id]
});
} else {
// 오류: 요소가 없을 경우
response.send({
error: '존재하지 않는 데이터입니다!'
});
}
});
app.del('/menus/:id',function(request,response){
// 변수를 선언합니다.
var id = Number(request.params.id);
if(isNaN(id)){
// 오류 : 잘못된 경로
response.send({
error :'숫자를 입력하세요!'
});
}else if(resmenu[id]){
// 정상 : 데이터 삭제
resmenu.splice(id,1);
response.send({
message : '데이터를 삭제했습니다.'
});
}else{
// 오류 : 요소가 없을 경우
response.send({
error : '존재하지 않는 데이터 입니다.!'
});
}
});
// 웹 서버 실행
http.createServer(app).listen(8002,function(){
console.log('Server running at http://127.0.0.1:8002');
});


'node.js 수업' 카테고리의 다른 글
node.js-6 CRUD2 실습- jQuery_ajax (0) | 2020.02.25 |
---|---|
node.js-5(Ajax 사용) 데이터사용-(get(), post(), put(), delte()) (0) | 2020.02.25 |
node.js-3(Ajax 사용) XMLHttpRequest 객체 (0) | 2020.02.24 |
node.js-2 클라이언트 요청처리(put(), del()) (0) | 2020.02.24 |
node.js-1 server로 데이터 전달( html, json, xml,parameter) (0) | 2020.02.21 |