일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Technical Writing
- 플젝후체크
- gitbash
- Anaconda
- #스파르타코딩클럽후기 #내일배움캠프후기
- github markdown
- PID
- github
- 서버사이드렌더링
- 자바파이썬
- 출처: 자바의 신 8장
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트
- khaiii
- 마크다운
- 파이썬
- 클라이언트사이드렌더링
- 코딩온라인
- taskkill
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트v
- 모바일웹스킨
- terminate
- Morphological analysis #Corpus
- SSR
- Machine Learning
- Kakao
- 필사
- 파이콘
- 비동기
- expression statement is not assignment or call html
- address
- Today
- Total
개발 일기
웹개발 일지 (4) - API, Mongo DB / Robo 3T 활용 본문
#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. 모두의 책리뷰 리뷰 저장)
목적: 제목, 저자, 리뷰 정보 저장하기
- 클라이언트와 서버 확인하기
2. 서버부터 만들기
따라서 API 기능은 다음 세 단계로 구성
- 클라이언트가 준 title, author, review 가져오기.
- DB에 정보 삽입하기
- 성공 여부 & 성공 메시지 반환하기
정리하면, 만들 API 정보는 아래와 같다
- 요청 URL= /review , 요청 방식 = POST
- 요청 데이터 : 제목(title), 저자(author), 리뷰(review)
B. 서버가 제공할 기능 : 클라이언트에게 보낸 요청 데이터를 데이터베이스에 생성(Create)하고, 저장이 성공했다고 응답 데이터를 보냄
C. 응답 데이터 : (JSON 형식) 'msg'= '리뷰가 성공적으로 작성되었습니다.'
3. 클라이언트 만들기
- input에서 title, author, review 가져오기
- 입력값이 하나라도 없을 때 alert 띄우기.
- 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 에는 유용한 플러그인이 많지 않아서 테마를 이것저것 활용해보기.