http 모듈로 API 실습예제 만들기
GET, POST, PUT, DELETE 명령어 사용해 보기 code
//http 모듈 사용 (http 서버 만들기)
const http = require('http');
// 데이터 저장용
const users = {};
// 서버를 만듬
http.createServer((req, res) => {
try {
//GET 메소드
if (req.method === 'GET') {
//url : /
if (req.url === '/') {
return res.end(JSON.stringify({
message : "hello!",
}));
//url : about
} else if (req.url === '/about') {
return res.end(JSON.stringify({
message : "hi about!",
}));
//url이 user이면
} else if (req.url === '/user') {
return res.end(JSON.stringify(users));
}
//POST 메소드
} else if (req.method === 'POST') {
//url : addUser
if (req.url === '/addUser') {
let body = '';
req.on('data', (data) => {
body += data;
});
return req.on('end', () => {
console.log('POST 본문(Body):', body);
const { name } = JSON.parse(body);
const key = Date.now();
users[key] = name;
res.end(JSON.stringify(users));
});
}
//PUT 메소드
} else if (req.method === 'PUT') {
// url : mUser
if (req.url === '/mUser') {
let body = '';
req.on('data', (data) => {
body += data;
});
return req.on('end', () => {
const { key } = JSON.parse(body);
const { name } = JSON.parse(body);
users[key] = name;
res.end(JSON.stringify(users));
})
}
//DELETE 메소드
} else if (req.method === 'DELETE') {
// url : delUser
if (req.url === '/delUser') {
let body = '';
req.on('data', (data) => {
body += data;
});
return req.on('end', () => {
const { key } = JSON.parse(body);
delete users[key];
res.end(JSON.stringify(users));
})
}
}
// else
res.writeHead(404);
return res.end('NOT FOUND');
} catch (err) {
console.error(err);
res.end(err.message);
}
})
// 서버를 프로세스로 올려야 함
// 8082 포트에 서버를 올릴 것임
.listen(8082, () => {
console.log('8082번 포트에서 서버 대기 중입니다');
});
'Node.js' 카테고리의 다른 글
express를 사용하여 간단한 서버 만들기 (0) | 2023.01.26 |
---|---|
npm init 을 사용해 보자 (0) | 2023.01.26 |
Postman 을 이용하여 Http 요청 메서드 이해하기 #1 (0) | 2023.01.17 |
Postman 설치 (0) | 2023.01.17 |
Node.js 설치 및 node,npm 버전 확인하기 (0) | 2022.12.07 |
댓글