API 와 REST API의 개념
API 는 서로 다른 소프트웨어나 어플리케이션 간 연결해주는 매개체 이자 약속입니다.
요청 Request - 어떤 정보를 어떻게 요청할 것인가?
반환 Response - 응답은 어떤 형식으로 받을 것인가?
이렇게 API는 서로 다른 시스템 간의 통신을 할 수 있게 해주는 중개자의 역할을 담담하게 됩니다.
REST 아키텍쳐는 사람이 봐도 쉽게 이해할 수 있도록 자원을 정의하고 이 자원을 중심으로 표현을 구성하는 원칙을 제시합니다.
REST API는 HTTP를 통해 웹 서비스의 자원에 접근하는 방식을 REST 아키텍쳐 의 규칙을 따라 구현된 API입니다.
CRUD는
Create 생성 (POST)
Read 조회(GET)
Update 수정 (PUT),(PATCH)
Delete 삭제 (DELETE)
Routing은 클라이언트의 요청 조건에 대응해 응답하는 방식을 말합니다.
Router는 클라이언트의 요청을 쉽게 처리 할 수있게 도와주는 Express.js의 기본 기능중 하나입니다.
미들웨서 Middleware 는
서버에서 요청을 받을때 가끔 모든 요청에 대한 공통적인 처리를 하고싶은경우
서버의 요청 /응답에 대해 공통적으로 관리가 가능합니다.
API Client란
개발단계에서 우리가 작성한 API의 요청을 확인하거나 테스팅할때 도움을 주는 툴입니다.
Postman, Insomnia 가 있습니다.
Insomnia를 통해 실시간 결과값 또는 상태를 확인할 수 잇다.
vs Code 에서도 잘 작동하고 있다.
req.body - 회원가입 및 생성 수정 조회 할때 클라이언트에서 보낸 정보를 기준으로 사용해야 할때
req.params - ID가 필요할때
.req.query - 정렬 할때
.req.cookies - 쿠키가져올때
req.get(header) - 헤더에 저장된 값을 가져오고 싶을때
res.status - HTTP 상태 전달
res.send - 데이터를 포함하여 Response를 전달
res.json(JSON) - Json 형식으로 Response를 전달
res.redirect(주소) : 리다이렉트할 주소와 함께 Response를 전달합니다.
res.cookie(key,value,option) - 쿠키를 설정할 때 사용합니다.
res.clearCookie(key,value,option) - 쿠키를 제거할 때 사용합니다.
status
100 정보 응답
200 성공 응답
300 리다이렉션 응답
400 클라이언트 에러 응답
500 서버에러 응답
명시하지 않으면 200자동 전달
경로 매개변수 Path Parameter는 라우트 주소에서 사용되는 특수한 패턴중 하나입니다.
URL의 일부분으로 언제든지 변경될 수 있는 값을 나타내기 위해 사용됩니다.
실습하니까 좀 살것같다....
드디어 내가 원하던 데이터 베이스 부분에 도달했다!!!
데이터 베이스는 영속서의 특징을 가지고있다.
데이터 베이스는
데이터가 들어갈 베이스
데이터는 우리가 실질적으로 사용할 데이터 값
관계형은 이미 지정이 되어있는 모순이 없는 데이터를 사용할때 정확도가 높다.
비관계형은 지정되어있는 형식이 따로 존제하지 않고 유연하게 확장할 수 있는 반명 그만큼 신뢰할수 없는 데이터가 될수 있다.
실수로 요상한값을 사용해도 오류가 일어나지 않아 서 문제가 될수도 있나보다.
MongoDB가 몬고 하니
이것도 비관계형 데이터베이스 NoSQL 중 하나인데 이전에 배웠던 DBever 처럼 동물 농장 중 하나다.
MongoDB Atlas는 몽고디비의 클라우드 버전입니다.
Studio 3T 는 몽고 디비를 편리하게 사용가능한 GUI를 지원합니다.
이건 물범처럼 생겼다.
mongoose 는 MongoDB에 데이터를 쉽게 읽고 쓰게 해주는 JavaScript 라이브러리 입니다.
ODM은 객체 와 문서 사이에서 매핑을 수행하는 도구입니다.
객체를 문서로 쉽게 변환하거나 반대로 문서를 객체로 변환해주는 작업을 수행합니다.
AWS 에 대한 설명을 오늘 들었는데 공포물에 꼭 귀신이 나와야 할까?!
스치면 노숙자!!! 혹은 신용불량자 가능한 리미트 없는 신용카드 같은 기능이 AWS에 있다는 사실!!
역시 악날한 기업 리미트 기능 따위는 없다.
mongoose의 스키마는 컬렉션에 들어가는 문서 가 어떤 종류의 값을 가질것인지 정의하기위해 사용합니다.
스키마는 데이터의 구조와 어떤 제약 사항을 가지는지 정의하기 위해 사용하며,
일반적으로 데이터를 모델링할 때 사용합니다.
필드와 데이터 타입 정의
mongoose의 모델은 데이터베이스에 데이터를 저장하고 읽어올 때 사용되는 데이터의 구조입니다.
스키마를 바탕으로 만들어지고, 객체와 DB간의 상호작용을 하기위해 사용합니다.
데이터를 저장하려면 모델을 사용하여 데이터를 생성하고,
데이터베이스에 저장할 수 있습니다.
2-5까지 완료
'TIL' 카테고리의 다른 글
TIL_2024-11-22_Node.js_숙련 1 주차 완 (0) | 2024.11.22 |
---|---|
TIL_2024-11-21_Node.js_입문_2.5~ 완 (0) | 2024.11.21 |
TIL_2024-11-19_Node.js_입문_1-1~1-13 (3) | 2024.11.19 |
TIL_본캠프_16일차 (0) | 2024.11.18 |
TIL_본캠프_15일차 (1) | 2024.11.15 |
댓글