Express로 간단한 API 카지노 쿠폰 만들기
**API(Aplication Programming Interface) : 프로그램에서 다른 프로그램의 기능을 사용할 수 있게 해주는 규약
**REST API 원칙 : 자원을 URL에 표현하고 자원을 가져오는 행위를 HTTP 메서드로 표현하는 규칙
1. 게시판 API 코드 작성
(경로), (HTTP메서드), (설명)
/, GET, 게시판 목록 가져오기
/카지노 쿠폰, POST, 게시판에 글쓰기.(id, title, name, text, createdDt로 구성)
/카지노 쿠폰/:id, DELETE, 게시글 id에 해당하는 글을 삭제
2. API 규칙에 맞게 카지노 쿠폰 구현
const express = require("express");
const app = express();
let 카지노 쿠폰 = [ ];// 게시글 리스트로 사용할 카지노 쿠폰에 빈 리스트 할당
// req.body를 사용하려면 JSON 미들웨어를 사용해야 함
// 사용하지 않으면 undefined로 반환
app.use(express.json());// JSON 미들웨어 활성화
// POST 요청 시 컨텐트 타입이 application/x-www-form-urlencoded인 경우 파싱
app.use(express.urlencoded({ extended: true }));// JSON 미들웨어와 함께 사용
app.get("/", (req, res) = {// /로 요청이 오면 실행
res.json(카지노 쿠폰);// 게시글 리스트를 JSON 형식으로 보여줌
});
app.post("/posts", (req, res) = {// posts로 요청이 오면 실행
const { title, name, text } = req.body;// HTTP 요청의 body 데이터를 변수에 할당
// 게시글 리스트에 새로운 게시글 정보 추가
posts.push({ id: posts.length + 1, title, name, text, createdDt: Date()});
res.json({ title, name, text });
});
app.delete("/카지노 쿠폰/:id", (req, res) = {
const id = req.params.id;// app.delete에 설정한 path 정보에서 id값을 가져옴
constfiltered카지노 쿠폰 = 카지노 쿠폰.filter( (post) = post.id !== +id);// 글 삭제 로직
const isLengthChanged = 카지노 쿠폰.length !== filtered카지노 쿠폰.length;// 삭제 확인
카지노 쿠폰 = filtered카지노 쿠폰;
if (isLengthChanged) {// 카지노 쿠폰의 데이터 개수가 변경되었으면 삭제 성공
res.json("OK");
return;
}
res.json("NOT CHANGED");// 변경되지 않음
});
app.listen(3000, () = {
console.log("Welcome 카지노 쿠폰 START!");
});
3. 게시판 API 테스트하기
3-1. curl로 GET 호출하기
curl -X GET http://localhost:3000
3-2. curl로 POST를 호출해 게시글 등록하기
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "title=제목2&name=andy&text=Node.js입니다." http://localhost:3000/카지노 쿠폰
3-3. curl로 DELETE를 호출해 게시글 삭제하기
curl -X DELETE localhost:3000/카지노 쿠폰/2