TIL & WIL

TIL - api 명세

유기린 2022. 8. 1. 22:34

오늘 항해99 첫날이어서 팀원들과 만나 프로젝트를 기획하였다.

주제를 정하고 와이어프레임 만들고 구현해야 할 기능 즉, api명세 작성까지였는데

api 명세서 작성 너무 어려웠다

어떤식으로인지 작동하는 방향은 알겠는데 느낌만 둥둥 떠다녀서

url이나 구체적인게 감이 안 잡혔다.

 

api 명세는 내가 구글 스프레드시트를 사용하자고 추천했는데 이걸로 시작하길 잘한 거 같아 혼자 뿌듯했다.

공유나 동시 수정이 가능해서 팀원들과 같이 하기 정말 편했다.

https://docs.google.com/spreadsheets/d/1CxoXotXG1HhEuPgLq7G_G-7I6kq2YHcEx9KFghHExrM/edit#gid=0

 

기능 API

시트1 Method,URL,request,response,비고 회원가입,POST,/users,{'users':sign-up} // {'id':id,'pw':pw,'name':name},{'msg':'회원 가입 완료!'},/login으로 이동,회원 등록 폼 /members/new -> GET 로그인,GET,/users,{'users':sign-in} // {'id'

docs.google.com

 

-----------

 

* method

 

먼저 method가 GET일까 POST일까를 고민했는데 method는 두 개가 다가 아니었다.

데이터 전송의 방식에는 GET, POST, PUT, PATCH, DELETE  등이 있다. (HTTP Method와 같다고 한다)

  • POST : 생성 (POST를 통해 해당 URI를 요청하면 리소스를 생성한다)
  • GET : 조회 (GET를 통해 해당 리소스를 조회한다. 리소스를 조회하고 해당 도큐먼트에 대한 자세한 정보를 가져온다)
  • PUT : 수정 (덮어쓰기:PUT를 통해 해당 리소스를 모든 속성을 수정한다)
  • PATCH : 수정 (부분 수정만 담당하며 리소스의 일부분만 수정할 때 사용)
  • DELETE : 삭제 (DELETE를 통해 리소스를 삭제한다)

 

 

근데 method를 검색하면서 REST API가 자꾸 나온다.

API와 무슨 차이가 있는 건가 싶어 검색

 

API는 서버와 클라이언트가 요청과 응답을 사용하여 서로 통신하는 방법인데 

어떻게 통신을 할 거냐에 따라 방식이 달라진다. 여기서 REST API는 네 가지 방식 중 하나이다.

 

 

- SOAP API 

이 API는 단순 객체 접근 프로토콜을 사용합니다. 클라이언트와 서버는 XML을 사용하여 메시지를 교환합니다. 과거에 더 많이 사용되었으며 유연성이 떨어지는 API입니다.

- RPC API

이 API를 원격 프로시저 호출이라고 합니다. 클라이언트가 서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송합니다.

- Websocket API

Websocket API는 JSON 객체를 사용하여 데이터를 전달하는 또 다른 최신 웹 API 개발입니다. WebSocket API는 클라이언트 앱과 서버 간의 양방향 통신을 지원합니다. 서버가 연결된 클라이언트에 콜백 메시지를 전송할 수 있어 REST API보다 효율적입니다.

- REST API

오늘날 웹에서 볼 수 있는 가장 많이 사용되고 유연한 API입니다. 클라이언트가 서버에 요청을 데이터로 전송합니다. 서버가 이 클라이언트 입력을 사용하여 내부 함수를 시작하고 출력 데이터를 다시 클라이언트에 반환합니다. 

 

https://meetup.toast.com/posts/92

 

REST API 제대로 알고 사용하기 : NHN Cloud Meetup

REST API 제대로 알고 사용하기

meetup.toast.com

 

한 줄 정리하자면

REST API에서 자원에 대한 행위를 표현할 때 HTTP Method를 사용하고,

method는 HTTP Method를 말하고 GET, POST, PUT, PATCH, DELETE  등이 있다.

 

 

* URL ? URI ?

 

URI는 Uniform Resource Identifier
URL은 Uniform Resource Locator
URN은 Uniform Resource Name
의 약자이다.
자원의 식별자(URI), 위치(URL), 이름(URN)으로 유추해 볼 수 있다.

 

가장 큰 게 URI이니까 헷갈린다 싶을 때는 URI를 써야겠다.

 

 

 

 

 

* 참고사이트

https://aws.amazon.com/ko/what-is/api/

 

API란 무엇인가요? - API 초보자를 위한 가이드 - AWS

 

aws.amazon.com

https://velog.io/@53_eddy_jo/RESTful%ED%95%9C-%EC%84%B8%EA%B3%84%EC%97%90%EC%84%9C%EC%9D%98-POST%EC%99%80-PUT%EC%9D%98-%EC%B0%A8%EC%9D%B4-%EA%B1%B0%EA%B8%B0%EC%97%90-FETCH%EA%B9%8C%EC%A7%80

 

RESTful한 세계에서의 POST와 PUT의 차이, 거기에 PATCH까지

HttpResponseHTTP/1.1 200 OK{ “id”: 1, “name”: “뽀로로”, “grade”: 1}HttpResponseHTTP/1.1 200 OK{ “id”: 1 “name”: “뽀로로”, “grade”: 2}HTTP/1.1 200 OK{ “id”

velog.io

 

'TIL & WIL' 카테고리의 다른 글

[ React ] DOM과 ref  (0) 2022.08.12
TIL : 숫자를 배열로 만드는 법  (0) 2022.08.10
WIL - 8월 첫째주  (0) 2022.08.07
TIL - JWT(Json Web Token) /openAPI  (0) 2022.08.04
TIL - Flask web framework  (0) 2022.08.02