par333k / nodebird-api

Node.js 교과서 2판 nodebird-api 구현 연습

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Node-bird API

  • 노드 버드의 데이터 서빙 용 api 서버

  • node.js 교과서 클론 코딩

핵심 정리

  • api는 다른 애플리케이션의 기능을 사용할 수 있게 해주는 창구
  • 모바일 서버 구성 시 RESTful API 방식으로 구현하면 장점이 있다.
  • API 사용자가 API를 쉽게 사용할 수 있도록 사용 방법, 요청 형식, 응답 내용에 관한 문서를 준비하는 것이 좋다.
  • JWT 토큰의 내용은 공개되며 변조될 수 있다. 단, 시그니처를 확인하면 변조여부를 체크할 수 있다.
  • 토큰을 사용하여 api의 오남용을 막을 수 있다. 요청 헤더에 토큰이 있는지를 항상 확인하는 것이 좋다.
  • app.use 외에도 router.use를 활용하여 라우터 간에 공통되는 로직을 처리할 수 있다
  • cors나 passport.authenticate 처럼 미들웨어 내에서 미들웨어 실행이 가능하다.
  • 브라우저와 서버의 도메인이 다르면 요청이 거절된다는 특성을 이해하고, 서버와 서버 간 요청에서는 cors 문제가 발생하지 않음을 기억하자.

스스로 해보기

  • 팔로워나 팔로잉 목록을 가져오는 api만들기(새 라우터 추가) - 구현, 이후 토큰, apilimiter 미들웨어 적용해야함
  • 무료 도메인과 프리미엄 도메인 간에 사용량 제한을 다르게 적용하기(apiLimiter를 두 개 만들어서 도메인 별로 적용) - 구현
  • 클라이언트용 비밀 키와 서버용 비밀 키를 구분해서 발급 (domain 모델 수정)
  • 클라이언트를 위해 api 문서 작성하기(swagger)

About

Node.js 교과서 2판 nodebird-api 구현 연습


Languages

Language:JavaScript 91.4%Language:HTML 8.6%