[TIL] 24-11-19
조건문 가독성 있게 하려면 아닌것 먼저 작성하기
API와 REST API
REST API 사람이 봐도 이해하기 쉽게 소스를 정의
Resource - URL
행위 - HTTP method
- Create : 생성(POST)
- Read: 조회(GET)
- Update: 수정(PUT), (PATCH)
- Delete: 삭제(DELETE)
표현
- XML, JSON
HTTP에서는 Content-Type
이라는 헤더를 통해 표현 방법 서술
예시
router.get('/books', (req, res) => {
res.json({ success: true, data: getAllBooks() });
});
Routing
클라이언트 요청 조건(Http 메서드, 주소 등)에 대응해 응답(Response)하는 방식
Router
클라이언트의 요청을 쉽게 처리 할 수 있게 도와주는 Express.js의 기본 기능 중 하나
Router 구조
router.METHOD(PATH, HANDLER);
router
: Express.js의 라우터를 정의하기 위해 사용METHOD
: HTTP Method를 나타냅니다. (ex:get
,post
,put
,patch
,delete
…)PATH
: 실제 서버에서 API를 사용하기 위한 경로 (ex:users
,posts
…)HANDLER
: 라우트가 일치할 때 실행되는 함수
API Client
개발단계에서 우리가 작성한 API의 요청을 확인하거나 테스팅 할 때 도움을 주는 툴. API Client를 사용함으로 개발 속도를 높이거나 잘못된 API 요청으로 인한 치명적인 에러를 예방하는데 도움을 받을 수 있습니다.
Express.js의 req,res 객체
req 객체
-
req.app : req 객체를 통해 Express.js의
app
객체에 접근할 수 있습니다. -
req.ip: 요청한 Client의 ip 주소가 담겨 있습니다.
-
req.body: Request를 호출할 때
body
로 전달된 정보가 담긴 객체입니다.express.json()
Middleware를 이용하여야 해당 객체를 사용할 수 있습니다.
-
req.params: 라우터 매개 변수(Path Params)에 대한 정보가 담긴 객체입니다.
-
req.query: Request를 호출할 때 쿼리 스트링으로 전달된 정보가 담긴 객체입니다.
-
req.cookies: Request를 호출할 때 Cookie 정보가 담긴 객체입니다.
cookie-parser
Middleware를 이용하여야 해당 객체를 사용할 수 있습니다.
-
req.get(Header): 헤더에 저장된 값을 가져오고 싶을 때 사용합니다.
res 객체
-
res.app : res 객체를 통해 Express.js의
app
객체에 접근할 수 있습니다. -
res.status(코드) : Response에 HTTP 상태 코드를 지정합니다.
-
res.send(데이터) : 데이터를 포함하여 Response를 전달합니다.
- ex)
res.send('Hello, World');
- ex)
-
res.json(JSON) : JSON 형식으로 Response를 전달합니다.
- ex)
res.json({ message: 'Hello, World' });
- ex)
-
res.end() : 데이터 없이 Response를 전달합니다.
-
res.redirect(주소) : 리다이렉트할 주소와 함께 Response를 전달합니다.
- ex)
res.redirect('https://naver.com');
- ex)
-
res.cookie(Key, Value, Option) : 쿠키를 설정할 때 사용합니다.
-
res.clearCookie(Key, Value, Option) : 쿠키를 제거할 때 사용합니다.