본문 바로가기
  • 시 쓰는 개발자
1일 1개념정리 (24년 8월~)/네트워크, 클라우드

1일1개 (28) - Restful API

by poetDeveloper 2024. 9. 7.
반응형

1일 1개념정리 24.08.09.금 ~ 

 

큰 결정에 큰 동기가 따르지 않을 때도 있다. 하지만 큰 결심이 따라야 이뤄낼 수 있다.

무조건 무조건 1일 1개의 개념 정리하기 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!


#28. Restful API

RestAPI란 REST(= REpresentational State Transfer) 아키텍처를 기반으로 한 API를 의미한다. REST는 웹 서비스에서 데이터를 전송하는 방식 중 하나이고 특히 HTTP 프로토콜을 기반으로 작동한다. 근데 채용공고를 보다가 자격요건에 이런 문구가 있었다.

우대사항 : "Restful API에 대한 이해도"

우리가 개발하며 RestAPI를 쓴다 이런 이야기를 자주 하긴 했는데, 정확히 이것에 대해 어떤 이해도를 말하는 것일까?? 그리고 무슨 내용을 알아야 Restful API에 대한 이해도가 높다고 이야기할 수 있는 것일까 ?? 정확히 알아봅시다.

 

Rest API 원칙

RestAPI는 다음과 같은 원칙이 있다.

  • Stateless : 각 요청은 독립적으로 처리되어야 하고 서버는 클라이언트의 상태를 저장하지 않는다.
  • Client-Server 구조 : 클라이언트와 서버는 분리되어 있어야하고, 클라이언트는 UI 및 인터페이스에 집중하고 서버는 데이터와 비즈니스 로직을 관리해야한다.
  • Cacheable : 클라이언트는 서버의 응답을 캐시하여 요청 수를 줄일 수 있다.
  • 계층 구조 : 애플리케이션이 여러 계층으로 구성될 수 있어서 시스템을 모듈화하고 유지보수를 쉽게 할 수 있다.

 

HTTP 메소드

RESTful API는 HTTP 메소드(GET, POST, PUT, DELETE 등)를 사용하여 데이터를 전송하는 게 큰 특징이다. 아마 많은 사람들이 rest api = http 메소드 정도로 생각하기도 할 것이다. 간단히만 설명하고 넘어가겠다.

  • GET: 리소스를 조회
  • POST: 생성
  • PUT: 업데이트
  • PATCH : 부분 업데이트 (패치노트 생각하면 됨)
  • DELETE: 삭제

자세한 내용은 여길 참고하자.

https://100won-developer.tistory.com/category/CS%20%EA%B0%9C%EB%85%90/HTTP

 

'CS 개념/HTTP' 카테고리의 글 목록

삶의 순간들을 정리하는 공간

100won-developer.tistory.com

 

URI 설계

RESTful API에서 리소스는 URI로 표현된다. 그래서 리소스를 명확하게 식별하고 접근할 수 있도록 URI를 설계해야한다. 직관적이고 명확하게 표현하는 리소스 명명법이 따로 있다.

ex) GET/user/123 : 유저의 정보가(이름 혹은 id 등) 123인 유저를 조회하라고 유추할 수 있다.

ex) POST/user : 유저 생성하라고 유추할 수 있다.

 

그리고 API의 버전을 나타낼 수도 있다. 새 기능을 추가할 땐 버전을 명시하는 것도 중요하다. 실제로 네이버의 메일을 들어가봐도 이렇게 버전이 url에 표시된다.

버전이 2인가보다.

ex)  GET /v1/users/123 : 첫 번째 버전의 API

자세한 내용은 다음을 참고하자.

https://100won-developer.tistory.com/entry/HTTP-%EC%9B%B9-%EA%B8%B0%EB%B3%B8-%EC%A7%80%EC%8B%9D-4-URI-%EC%9E%91%EB%AA%85%EB%B2%95-HTTP-%EB%A9%94%EC%86%8C%EB%93%9C

 

HTTP 웹 기본 지식 (4) - URI 작명법, HTTP 메소드

김영한님의 HTTP 웹 기본지식을 들으며 정리하였습니다. 리소스란 ?미네랄을 캐라. → 미네랄 자체가 리소스회원 등록하기 → 회원이 리소스URI는 리소스(명사)를 식별할 수 있어야한다.행위는

100won-developer.tistory.com

 

응답 코드

HTTP 상태 코드는 API의 상태와 성공/실패 여부를 나타낸다. 상태 코드를 적절하게 사용해야 정확히 어떤 상태인지 알 수 있다. 몇개의 상태코드만 보자.

  • 200 OK : 요청이 성공적으로 처리됨
  • 400 Bad Request : 잘못된 요청 (클라이언트 오류)
  • 401 Unauthorized : 인증이 필요함. 인증 안했는데 접근 요청했을 때
  • 404 Not Found : 요청한 리소스가 없음
  • 500 Internal Server Error : 서버에서 처리 중 오류 발생

자세한 내용은 다음을 참고하자 !!

https://100won-developer.tistory.com/entry/HTTP-%EC%9B%B9-%EA%B8%B0%EB%B3%B8-%EC%A7%80%EC%8B%9D-6-HTTP-%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C

 

HTTP 웹 기본 지식 (6) - HTTP 상태코드

김영한님의 HTTP 웹 기본지식을 들으며 정리하였습니다. HTTP 상태코드서로가 합의된 코드를 사용해서 소통하는 것임. 200이 오면 아 성공했구나~ 이걸 클라이언트가 알 수 있는 것. 근데 만약에 2

100won-developer.tistory.com

 

반응형