20220731_WIL REST API, PACKAGE.JSON

codeing999·2022년 7월 31일
0

TIL/WIL

목록 보기
12/22

<성령님이 그려주신 6조>

이번주 한 일 및 회고

@ 사이드로 따로 하는 브로콜리 프로젝트를 구현까지 하기 시작했다. 멤버도 프론트엔드분 한명이 더 추가되어서 5명이 되었다.
@ CRUD를 이제 좀 간단히 기능되게 하는 거는 잘 할 수 있을 거 같다. Joi를 쓴다던가 에러 처리나 예외 처리 등등 디테일은 아직 부족하지만.
@ 이틀 전 주특기 2주차가 시작되었는데 JWT와 mySQL, Joi 등등을 배울 것 같다.

REST API

REST API에 대해 검색해보면 대부분
Server-Client 구조
Stateless(무상태)
Cacheable(캐시 처리 기능)
Layered System(계층화)
Code-On-Demand(Optional)
Uniform Interface(인터페이스의 일관성)

이와 같은 6가지 제약조건이 나오는데
내가 뭘 어떻게 해야 RESTFUL한 API를 만들 수 있는건지에 대해서는 느낌이 오지 않았다.
열심히 찾아보다가 좋은 글을 발견했다.
https://sanghaklee.tistory.com/57
이 글에 따르면 왠만한 6가지 조건들은 이미 브라우저 단계에서 해결해준다.
개발자로서 우리가 해야할 것은 요약하면
1. http method와 헤더를 잘 명시해주기. 현재 행위와 어떤 타입의 데이터를 다루는지 등을 잘 서술하는 것.
2. URL에 무슨 자원을 다루는지 잘 나타나게 쓰기. 댓글을 쓰는 거면 comment라고 쓴다든가하는 것.

인 것 같다.
이것들에 대해 가이드라인에 해당하는 규칙들이 있다는 것도 처음 알았다.

URL 룰

@ 마지막에 '/'를 포함하지 않는다.
@ _(underbar) 대신 -(dash)를 쓴다.
@ 소문자를 사용한다
@ 행위(method)는 URL에 포함하지 않는다. (method가 행위니까)
@ 자원을 의미하는 URL은 예외적으로 동사를 허용한다.

HTTP Header를 세팅하라

@ Content-Location, Contet-Type 명시, Retry-After 명시, Link 명시

HTTP method를 사용하라

HTTP status를 사용하라

정확한 HTTP status code를 사용하라

@ 성공응답은 2xx로 응답
@ 실패 응답은 4xx로 응답
@ 5xx 에러는 절대 사용자에게 나타내지 마라

package.json

프로젝트 정보와 설치한 패키지 정보들이 적혀있는 파일이다.
npm init 하면 생겨나는데
실제 설치된 파일들을 제외하고 배포하고 난 후에
배포받은 사람이 npm install만 쳐도
이 파일에 있는 패키지 정보들을 보고 그것들을 다 알아서 설치하게 할 수 있다.

profile
코딩 공부 ing..

0개의 댓글