You can make anything
by writing

C.S.Lewis

by 훈오빵 Nov 22. 2023

Node.js 기본카지노 쿠폰 만들기(4)

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


브런치는 최신 브라우저에 최적화 되어있습니다.