일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Til
- 코드스테이츠
- vercel
- redux
- 카카오
- 자바스크립트
- mysemester
- javascript
- 회고
- 큐
- 프로그래머스
- Next.js
- 자료구조
- 백준
- 운영체제
- superstarjypnation
- level1
- 프로토타입
- 해시테이블
- CSS
- web
- UI
- UX
- REST_API
- React
- html
- 스택
- 30daysdowoonchallenge
- 생활코딩
- useState
- Today
- Total
데굴데굴
TIL: 2022-10-07 본문
⚙️ 오늘 배운 주제
API 테스트하기
🐹 오늘의 기분
이번 주는 전체적으로 널널했다. 아마 이게 진짜 마지막으로 여유로운 주가 되지 않을까.. 생각함. 페어분과 간단한 실습이 있었는데 5분도 안 돼서 끝났음. 하지만 아직 뚜렷하게 와닿지 않는 개념들이 많아서 혼자 공부할 시간이 더 주어진 게 다행이었다.
코딜리티 문제도 매일 꾸준히 풀고 있는데 이거 진짜 좀 도움되는 것 같다. 평가 영역이 테스트케이스 통과, 시간복잡도 이렇게 두 영역으로 나뉘어 있어서 테스트케이스를 다 통과해도 시간복잡도에서 통과 못하면 다른 풀이를 떠올려봐야 한다. 나는 시간복잡도를 신경 못 써서 틀리는 경우가 너무 많았어서 이걸 해결하면서 생각지도 못한 풀이 방법을 많이 배우고 있다. 굳이 반복문을 돌지 않아도 해결되는 문제가 너무 많았음.. 하하 이래서 수학이 중요하다는 걸 또 깨달았다. 새 챕터 들어갈 때에는 Reading material도 읽어보면서 전체적인 그림도 그려볼 수 있어서 좋다.
🗣 스스로에게 설명
오늘 실습에서는 OpenWeather API를 이용했다.
브라우저 주소창에서 결과 확인하기
OpenWeather API에서 도시 아이디를 기반으로 Current weather data를 불러오려고 한다.
해당 데이터의 api 문서를 보면 이렇게 uri가 주어진다.
uri가 제공되는 api는 브라우저 주소창에 형식에 맞게 입력하면 바로 호출 결과를 볼 수 있다.
서울의 city id 1835848을 넣어서 불러와봤다.
그냥 보면 줄글로 출력이 되어서 가독성이 그리 좋지 않다.
크롬 확장 프로그램 'JSON Viewer'를 설치하면 이렇게 JSON 형태로 깔끔하게 볼 수 있다.
Postman으로 API 테스트하기
API에 여러 메소드를 썼을 때 원하는대로 작동하는지 테스트하기 위한 도구가 존재한다.
CLI에서는 curl, wuzz로 테스트할 수 있고, GUI로는 Postman, insomnia를 이용할 수 있다.
오늘 써본 도구는 Postman이라는 사이트이다.
Postman에서 새 workspace를 생성하고 메소드랑 엔드포인트를 설정한다.
openweather의 경우 uri를 넣었더니 밑의 parameter도 자동으로 채워졌는데 원래 이렇게 해주는 건지는 잘 모르겠다.
Send를 누르면 밑에 이렇게 결과가 받아와진다.
POST할 때에는 body를 보내야 한다.
body 탭에서 raw를 선택하고 맨 오른쪽 데이터 형태를 JSON으로 설정한 후 원하는 데이터를 입력하면 된다.
이번에는 Open Weather API만 써봤는데 여기 API 문서를 전체적으로 한 번 더 읽어보고 다른 API 문서를 읽어보는 연습도 해야 할 것 같다.
평소에 관심 있었던 스포티파이 API도 한 번 테스트해보고 싶음.
PUT과 POST, PATCH의 차이
HTTP 메소드에서 CRUD를 따져보면 Create는 POST, READ에는 GET, Update에는 PUT 또는 PATCH, Delete는 DELETE 메소드로 연결할 수 있다.
나는 여기서 PUT과 POST, PATCH가 상당히 헷갈려서 여기에 정리해보려고 한다.
일단, PUT은 새 리소스를 생성하거나 기존 리소스를 교체할 때 쓰는 메소드이다.
그리고 멱등성(idempotenty)을 가진다.
멱등성이란 수학에서 연산을 여러 번 적용해도 값이 달라지지 않는 성질을 의미한다.
즉 PUT을 쓰면 요청을 한 번만 보내도 여러 번을 보내도 같은 효과를 보인다 => 요청 횟수에 따른 부수 효과가 없다.
POST 요청은 서버에 변경사항을 만든다. (create)
POST로 리소스를 생성하는 요청을 여러 번 보내면 보낸 횟수만큼 새 리소스가 생성된다.
나는 PUT은 덮어쓰기를 하고, POST는 덮어쓰기를 하지 않는다! 이렇게 이해했다.
PATCH는 단어 뜻 그대로 리소스의 부분적인 수정을 허용한다.
PUT은 요청을 보낼 때 수정할 부분이 포함된 영역 전체를 보내야 하지만, PATCH를 쓰면 딱 수정할 부분만 잘라서 보내도 된다.
'Lesson > TIL' 카테고리의 다른 글
TIL: 2022-10-12 (0) | 2022.10.12 |
---|---|
TIL: 2022-10-11 (0) | 2022.10.11 |
TIL: 2022-10-06 (0) | 2022.10.06 |
TIL: 2022-10-05 (0) | 2022.10.05 |
TIL: 2022-10-04 (0) | 2022.10.04 |