사고쳤어요
[Node.js] http-status-codes 사용해보기 본문
https://www.npmjs.com/package/http-status-codes
http-status-codes
Constants enumerating the HTTP status codes. Based on the Java Apache HttpStatus API.. Latest version: 2.3.0, last published: a year ago. Start using http-status-codes in your project by running `npm i http-status-codes`. There are 2888 other projects in t
www.npmjs.com
http-status-codes라는 모듈을 설치하여 사용해보자
설치 명령어는 다음과 같다.
npm install http-status-codes --save
그리고 공식 페이지에서 소개하는 예제는 다음과 같다.
import {
ReasonPhrases,
StatusCodes,
getReasonPhrase,
getStatusCode,
} from 'http-status-codes';
response
.status(StatusCodes.OK)
.send(ReasonPhrases.OK);
response
.status(StatusCodes.INTERNAL_SERVER_ERROR)
.send({
error: getReasonPhrase(StatusCodes.INTERNAL_SERVER_ERROR)
});
response
.status(getStatusCode('Internal Server Error'))
.send({
error: 'Internal Server Error'
});
response.status()에서 status() 내부에 200, 400, 404와 같이 숫자를 넣지 않고
StatusCodes.OK, StatusCodes.INTERNAL_SERVER_ERROR와 같은 값을 넣거나
getStatusCode()로 코드를 찾아 값을 넣는 모습을 볼 수 있다.
위 모듈을 사용하면 상황에 맞는 http status code를 매번 찾아볼 필요 없이 매핑시킬 수 있다.
const express = require("express");
const router = express.Router();
const conn = require("../mysql");
const { StatusCodes } = require("http-status-codes");
router.use(express.json());
router.post("/join", (req, res) => {
const { email, password } = req.body;
const sql = `INSERT INTO users (email, password) VALUES ?, ?`;
const values = [email, password];
conn.query(sql, values, (err, results) => {
if (err) {
return res.status(StatusCodes.BAD_GATEWAY).json({
msg: `Error: ${err.code}`,
});
} else {
res.status(StatusCodes.CREATED).json(results);
}
});
});
다음은 실제 활용 예시이다.
const { StatusCodes } = require("http-status-codes")를 추가해준 뒤
StatusCodes."상태"를 통해 편리하게 http status code를 전달해줄 수 있다.
위와 같이 편리하게 어떤 종류가 있는지도 볼 수 있다.
'웹 풀스택' 카테고리의 다른 글
[도서 쇼핑몰] Node.js - crypto로 비밀번호 암호화하기(회원가입, 로그인, 비밀번호 초기화) (0) | 2025.03.12 |
---|---|
[도서 쇼핑몰] Node.js - 회원가입, 로그인, 비밀번호 초기화 API (0) | 2025.03.12 |
[도서 쇼핑몰] dbdiagram으로 Mysql Workbench 세팅하기 (0) | 2025.03.12 |
[도서 쇼핑몰] Node.js - app.js 기본 설정하기 (0) | 2025.03.12 |
[도서 쇼핑몰] dbdiagram.io에서 ERD 설계하기 (0) | 2025.03.06 |