19. GET, DELETE, POST method
GET method
- 클라이언트가 서버에게 데이터를 요청할 때 사용
- URL에 데이터를 첨부하여 전송
- 응답코드는 200을 주로 사용
쿼리 스트링(Query String)
- 웹 요청(URI)에 추가적인 매개변수를 전달하기 위해 사용되는 문자열
- 일반적으로 URL의 끝에 물음표(?)를 사용하여 쿼리 스트링을 추가하고, 그 뒤에 키-값(key-value) 쌍을 & 기호로 구분하여 나열함
쿼리 스트링(Query String) 사용 예제
import express from "express";
const app = express();
// /posts로 요청
app.get("/posts", (req, res) => {
console.log("posts를 호출!");
console.log("path:", req.path);
console.log("params:", req.params);
console.log("query:", req.query);
// 응답코드 200 응답
res.sendStatus(200);
});
app.listen(8080);
응답된 페이지
터미널
라우팅 파라미터(Route Parameters)
- Express.js와 같은 웹 프레임워크에서 사용되는 동적인 경로를 처리하는 기능
- 라우팅 경로에서 동적인 값이 들어갈 자리를 표시하고, 해당 값을 파라미터로 추출하여 사용할 수 있음
라우팅 파라미터(Route Parameters) 사용 예제
import express from "express";
const app = express();
// /posts로 요청(라우팅 파라미터로 값을 받음)
app.get("/posts/:id", (req, res) => {
console.log("/posts/:id 호출!");
console.log("path:", req.path);
console.log("params:", req.params);
console.log("query:", req.query);
// 응답코드 200 응답
res.sendStatus(200);
});
app.listen(8080);
응답 페이지
터미널
배열을 사용하여 여러 개의 경로를 동시에 처리하는 예제
import express from "express";
const app = express();
// /mypage, /myroom로 요청(라우팅 파라미터로 값을 받음)
app.get(["/mypage", "/myroom"], (req, res) => {
// 사용자에게 응답
res.send("mypage 겸 myroom 페이지!")
})
app.listen(8080);
응답 페이지
DELETE method
- HTTP 프로토콜에서 제공하는 하나의 HTTP 요청 메소드
- 리소스를 삭제하기 위해 사용됨
- 서버에서 해당 리소스를 삭제하거나, 리소스의 상태를 변경할 수 있음
- 응답은 일반적으로 200 OK 또는 204 No Content와 같은 상태 코드를 사용
- GET 메소드와 요청 방식은 다르지만, URL은 GET 메소드를 사용할 때와 비슷한 형태를 가짐
DELETE method 예제
import express from "express";
const app = express();
// /post로 요청(라우팅 파라미터로 값을 받음)
app.delete("/posts/:id", (req, res) => {
console.log("delete : /posts/:id 호출!");
console.log(`${req.params.id} 번호가 삭제됨`);
// 응답코드 200 응답
res.sendStatus(200);
});
app.listen(8080);
포스트맨을 통해서 DELETE 요청
터미널
POST method
- 클라이언트가 서버에게 데이터를 제출(submit)하기 위해 사용
- 데이터를 요청 메시지의 본문(body)에 포함하여 전송
- 주로 로그인, 회원가입과 같은 곳에 사용
- 응답코드는 201을 주로 사용
POST method 예제
// package.json
// 복사하고 npm i 하면 모든 모듈 자동으로 설치됨
import express from "express";
const app = express();
// 클라이언트로부터 전송된 JSON 형식의 데이터를 파싱하여 JavaScript 객체로 변환해줌
app.use(express.json()); // body로 데이터를 받을 수 있음
app.post("/posts", (req, res) => {
console.log(req.body); // 전송된 데이터 콘솔에 출력
res.status(201).send("Create 되었습니다!"); // 응답코드와 메세지를 보냄
});
app.listen(8080);
포스트맨으로 전송
터미널 출력