개발 일기

웹개발 일지 (4) - API, Mongo DB / Robo 3T 활용 본문

카테고리 없음

웹개발 일지 (4) - API, Mongo DB / Robo 3T 활용

flow123 2021. 8. 17. 21:45

 

#API 만들기 

 

모든 프로젝트를 설계할 , API 설계가 선행되어야 하는 일이다. 그래야 우리 서비스에 어떤 기능이 필요한지. 어떤 순서로 구현을 할지 계획을 잡을 있기 때문.

 

API 는 은행의 창구 같은 것. 

클라이언트가 요청을 할 때에도 '방식'이 존재한다. 클라이언트는 HTTP 라는 통신 규약을 따름.

클라이언트는 요청할 때 HTTP request method(요청 메소드)를 통해, 어떤 요청 종류인지 응답하는 서버 쪽에 정보 줌. 
요청 메소드 리스트: https://developer.mozilla.org/ko/docs/Web/HTTP/Methods

 

* GET → 통상적으로! 데이터 조회(Read)를 요청할 때

예) 영화 목록 조회

데이터 전달 : URL 뒤에 물음표를 붙여 key=value로 전달

→ 예: google.com?q=북극곰

 

* POST → 통상적으로! 데이터 생성(Create), 변경(Update), 삭제(Delete) 요청 할 때

예) 회원가입, 회원탈퇴, 비밀번호 수정

데이터 전달 : 바로 보이지 않는 HTML body에 key:value 형태로 전달

 

#POST 연습 (EX. 모두의 책리뷰 리뷰 저장)

목적: 제목, 저자, 리뷰 정보 저장하기

 

  1. 클라이언트와 서버 확인하기 

2. 서버부터 만들기

 

따라서 API 기능은 다음 세 단계로 구성

  1. 클라이언트가 준 title, author, review 가져오기.
  2. DB에 정보 삽입하기
  3. 성공 여부 & 성공 메시지 반환하기

정리하면, 만들 API 정보는 아래와 같다

  • 요청 URL= /review , 요청 방식 = POST
  • 요청 데이터 : 제목(title), 저자(author), 리뷰(review)

B. 서버가 제공할 기능 : 클라이언트에게 보낸 요청 데이터를 데이터베이스에 생성(Create)하고, 저장이 성공했다고 응답 데이터를 보냄

 

C. 응답 데이터 : (JSON 형식) 'msg'= '리뷰가 성공적으로 작성되었습니다.'

 

3. 클라이언트 만들기

  1. input에서 title, author, review 가져오기
  2. 입력값이 하나라도 없을 때 alert 띄우기.
  3. Ajax로 서버에 저장 요청하고, 화면 다시 로딩하기

사용할 API 정보

  • 요청 URL= /review , 요청 방식 = POST
  • 요청 데이터 : 제목(title), 저자(author), 리뷰(review)

B. 서버가 제공할 기능 : 클라이언트에게 보낸 요청 데이터를 데이터베이스에 생성(Create)하고, 저장이 성공했다고 응답 데이터를 보냄

 

C. 응답 데이터 : (JSON 형식) 'result'= 'success', 'msg'= '리뷰가 성공적으로 작성되었습니다.'

 

 

#메타태그란? <head></head> 부분에 들어가는, 눈으로 보이는 것(body) 외에 사이트의 속성을 설명해주는 태그들
예) 구글 검색 시 표시 될 설명문, 사이트 제목, 카톡 공유 시 표시 될 이미지 등

 

#Mongo DB에서 데이터를 삭제하는 법 / 잘못 저장된 값 삭제하기 (완강하고 다시 해볼 것! ) 

 

Q. Mongo DB 에서 복수의 행을 지우려면?

몽고 DB 는 No SQL 이니 맨 윗 행만 남겨두는 게 큰 의미는 없다.

(1) Collection 을 전부 지우고, 다시 데이터를 넣는게 훨씬 간편하고 깔끔함. 

(2) 혹은 Robo 3T의 DELETE 기능을 활용해보자. 가장 효율적인 방법이다. 

 

#Syntax Error 가 자주 발생함. 좀 더 효과적으로 코드 syntax 나 오타 에러를 줄일 방법 

Pycharm 에는 유용한 플러그인이 많지 않아서 테마를 이것저것 활용해보기. 

 

 

Comments