항해 2주차 WIL

이병관·2021년 9월 26일
0
post-thumbnail

Restful API


REST.
말그대로 Representational State Transfer라는 용어의 약자이다.
자원을 URI로 표시하고 해당 자원의 상태를 주고 받는 것을 의미한다.

RESTful
'설계 의도를 명확하게 지켜주어야 한다.'
'각 구성요소들의 역할이 완벽히 분리된 상태'

REST의 구성 요소는

자원(resource): URI
행위(Verb) : HTTP METHOD
표현(Representations) 로 이루어져 있다.
즉 rest는 URI를 통해 자원을 표시하고, HTTP METHOD를 이용해 해당 자원의 행위를 정해주며 그 결과를 받는 것을 말한다.

그걸 지킨 REST API

그래서 이를 명시하면서 만든 API는 Restful Restful 하다 하는데
실제 만들기 전까진 뜬구름 잡는 소리인 줄 알았는데
막상 적용해보니 명확하게 이 API가 어떤 역활을 하는지 바로 감이 잡힐정도로 매우 유용했다.

간단하게 말해
해당 API의 요청이 어떤 동작이나 정보를 위한 것인가를
API의 모습 자체로 추론 가능해진다.

서버로 REST API 요청을 보낼 때는 HTTP 규약에 따라 신호를 전송하는데, REST API는 GET, POST, DELETE, PUT, PATCH 메소드를 사용한다

  • POST Create
  • GET Read
  • PUT Update 정보를 통째로 변경할 때
  • PATCH Update 일부 정보만 변경할 때(수정, 글삭제 속성 변경)
  • DELETE Delete

원하는 타입으로 데이터를 주고받을 수 있고 OPEN API를 제공하는것도 쉬우나
사용할 수 있는 메소드가 4 가지 밖에 없고, HTTP 통신 모델에만 지원한다는 단점이있다.

package.json


이 프로젝트의 정보입니다

package.json은 프로젝트의 정보를 정의하고, 의존하는 패키지 버전 정보를 명시하는 파일이다.

간단하게 해당 프로젝트에 어떤 모듈들을 사용할것인지, 개발환경에서는 어떤 파일들을 사용하는건지 정의한 정보서라고 생각하면 이해가 빨랐다.

패키지 정보는 dependencies 또는 devDependencies에 작성된다.

  • dependencies: 프로덕트 환경에서 응용 프로그램에 필요한 패키지. 일반적인 경우 해당 모듈들을 이용하여 프로젝트를 빌드한다.

  • devDependencies: 로컬 개발 및 테스트에만 필요한 패키지. 실제 배포시에는 필요없는 테스트도구들을 명시하는곳.

이번주는?



매우 평이한 주였다.

새로움에 두근두근 거리며 프로젝트를 시작했지만 다행히 어려운 부분은 존재하지 않아 빠르게 과제를 했고,

다만 API를 작성할때는 여러번 잦은 실수를 하여 해당 실수만 고치면 다음 심화 주차때도 어려움없이 기능을 구현하지 않을까 하는 설레임도 생겨났다.

이전에 작성했던 글에서도 말한것처럼 Post와 Get을 종종 헷갈리는데 해당 메소드를 사용할때 조금 더 깊게 생각을 해야 낭비하는 시간을 줄일수 있을것같다.

그리고 Express를 사용하기에 뭔가 Emotion을 사용할 수 있었다면 좀더 아름다운 프론트페이지를 꾸밀수 있었을텐데 Express에서는 Emotion을 지원하는지도 조금 봐야할것같다.

남은 시간동안 멘토님이 추천해주신 책을 보며 노드의 기본을 좀더 깊게 다지면 완벽해지지 않을까?
작은 소망을 가져보게된다.

profile
뜨겁고 매콤하고 화끈하게

0개의 댓글