POSTMAN, OpenAPI, CORS

sza0203·2022년 1월 8일
0

TIL

목록 보기
37/50
  • 2022/01/08

POSTMAN 소개 - 1

  • 서버와의 통신을 위해 API를 활용하는 경우, React 앱으로만 요청하여 API가 잘 동작하는지 알아보는 건 비효율적.
  • 수많은 API의 endpoint와 실행 조건 등을 관리하는 것도 힘들다.
  • POSTMAN은 API를 테스트하기 위한 개발 도구.

POSTMAN 소개 - 2

  • Auth, header, payload, query 등 API 요청에 필요한 데이터를 쉽게 세팅.
  • 다른 개발자가 쉽게 셋업해 테스트할 수 있도록 API 정보를 공유할 수 있음.
  • Request를 모아 Collection으로 만들어, API를 종류별로 관리.
  • 환경 변수를 정의하여, 환경별로 테스트 가능.
  • https://www.postman.com/ 에서 다운로드.

POSTMAN 사용

  • Workspace : 프로젝트 개념
  • 서버에 대한 request를 Collection으로 묶어서 관리


Open API - 1

  • RESTful API를 하나의 문서로 정의하기 위한 문서 표준.
  • OpenAPI Specification(OAS)으로 정의됨.
  • Swagger 등의 툴로, Open API로 작성된 문서를 파싱테스팅 도구로 만들 수 있음.
  • 프론트엔드 개발자, 백엔드 개발자와 협업시 주요한 도구로 사용.

Open API - 2

  • API의 method, endpoint를 정의.
  • endpoint마다 인증 방식, content type 등 정의.
  • body data, query string, path variable 등 정의.
  • 요청, 응답 데이터 형식타입 정의 - data model 활용(schema).

CORS - 1

  • Cross-Origin Resource Sharing.
  • 브라우저는 모든 요청 시 Origin 헤더를 포함.
  • 서버는 Origin 헤더를 보고, 해당 요청이 원하는 도메인에서부터 출발한 것인지를 판단.
  • 다른 Origin에서 온 요청은 서버에서 기본적으로 거부함.

CORS - 2

  • 그러나, 보통 서버의 endpoint와 홈페이지 domain은 다른 경우가 많음.
  • 따라서 서버에서는 홈페이지 domain을 허용하여, 다른 domain이라 하더라도 요청을 보낼 수 있게 함.
  • 서버는 Access-Control-Allow-Origin 외에 Access-Control-*을 포함하는 헤더CORS 관련 정보를 클라이언트로 보냄.

CORS - 3

  • 웹사이트에 악성 script가 로드되어, 수상한 요청을 하는 것을 막기 위함.
  • 반대로, 익명 유저로부터의 DDos 공격 등을 막기 위함.
  • 서버에 직접 CORS 설정을 할 수 없다면, Proxy 서버 등을 만들어 해결.

몇주 전 진행했던 프로젝트에서 백엔드 분들이 API 내려주시면 POSTMAN을 통해서 확인하곤 했는데, 다루는 법을 정확하게 알고 쓰지 못했다. 거의 response 객체를 확인하는 정도로 사용했는데, 많은 기능들을 알지 못해서 사용 못한게 아쉬웠었으나 오늘 수업을 통해 좀 더 알게되었다. 스스로 사용해보면서 더 익혀봐야 겠다. Open API 경우에도 프로젝트를 진행할 때 백엔드분들이 알려주신 API GUIDE가 Open API 개념이구나 하고 인지하게 되었다. CORS의 경우에도 로그인 인증 당시에 백엔드에서 꾀나 애먹었던 것으로 기억하는데, 이렇게 배우게 되어도 아직은 와닿지 못한다.. 추가적으로 더 공부가 필요할 듯 하다.

profile
만들고 싶은 앱이 생겨서 RN 공부중입니다.

0개의 댓글