관리 메뉴

cococo-coding

[Flutter] restful개발이란? 본문

[Flutter] 두번째 앱/TIL

[Flutter] restful개발이란?

_dani 2024. 2. 26. 14:24

플러터로 앱개발을 할 때 기업공고에서 필수적인 사항들을 모아보았다. 

여기서는 1번 Restful 개발 경험에 대해 정리해보았다. 


1. Restful 개발 경험

2. 앱 출시 경험(서비스 런칭 및 운영, 공식 배포)

3. 상태관리(Bloc, GetX, Provider, RiverPod...)

4. git 

5. 원활한 커뮤니케이션

6. 파이어베이스


 

< RESTFUL에 관하여 >

Rest란?

Representational State Transfer의 약자로, 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고받는 모든 것을 의미한다. 

  1. HTTP URI (Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고
  2. HTTP Method(POST, GET, PUT, DELETE, PATCH 등)을 통해
  3. 해당자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미한다.
CRUD Operation이란

CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인
Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다.
Rest에서의 CRUD Operation 동작 예시는 아래와 같다. 

Create: 데이터 생성(POST)
Read: 데이터 조회(GET)
Update: 데이터 수정(PUT, PATCH)
Delete: 데이터 삭제(DELETE)

REST의 구성요소

REST는 다음과 같은 3가지 요소로 구성되어 있다. 

  1. 자원(Resource): HTTP URI
  2. 자원에 대한 행위(Verb): HTTP Method
  3. 자원에 대한 행위의 내용(Representations): HTTP Message Pay Load

REST의 특징

  1. Server-Client(서버-클라이언트 구조)
  2. Stateless(무상태)
  3. Cacheable(캐시 처리 가능)
  4. Layered System(계층화)
  5. Uniform Interface(인터페이스 일관성)

REST의 장단점

장점

  • HTTP 프로토콜의 인프라를 그대로 사용하므로 REST API 사용을 위한 별도의 인프라를 구축할 필요가 없다.
  • HTTP 프로토콜의 표준을 최대한 활용하여 여러 추가적인 장점을 함께 가져갈 수 있다. 
  • HTTP 표준 프로토콜을 따르는 모든 플랫폼에서 사용이 가능하다. 
  • 서버와 클라이언트의 역할을 명확히 분리한다. 

단점

  • 표준 자체가 존재하지 않아서 정의가 필요하다.
  • HTTP Method 형태가 제한적이다. 

REST API란?

REST 원리를 따르는 API(Application Programming Interface)를 의미한다. 

REST API를 올바르게 설계하기 위해 지켜야하는 규칙이 있으며 다음과 같다. 

REST API 설계 예시
1. URI는 명사, 소문자를 사용한다.
2. 마지막에 슬래시(/)를 포함하지 않는다.
3. 언더바(_) 대신 하이폰(-)을 사용한다.
4. 파일확장자(.jpg, .png등 )는 URI에 포함하지 않는다.
5. 행위를 포함하지 않는다 delete-post (x) post (o) 

 

REST API의 특징

  • REST를 기반으로 사내시스템들의 시스템을 분산해 확장성과 재사용성을 높이고, 유지보수 및 운용도 편리하게 할 수 있다. 
  • HTTP표준을 기반으로 구현하므로, HTTP를 지원하는 프로그램 언어로 클라이언트, 서버를 구현할 수 있다. 

RESTful 이란

공식적인 용어는 아니지만, REST원리를 따르는 시스템을 RESTful이라는 용어로 지칭한다.

REST라는 아키텍처를 구현하는 웹 서비스를 나타낸다. 예시로 REST API를 제공하는 웹 서비스를 RESTful하다고 할 수 있다.

RESTful의 목적

  • 이해하기 쉽고 사용하기 쉬운 REST API를 만드는 것

RESTful하지 못한 경우

  • CRUD 기능을 모두 POST로만 처리하는 API
  • route에 resource, id 외의 정보가 들어가는 경우(/students/updateName)

flutter 공식문서에서는 networking파트의 fetch data from the internet으로 설명되어 있다.

여기에서는 http 패키지를 사용한다. 


 

출처: https://khj93.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-REST-API%EB%9E%80-REST-RESTful%EC%9D%B4%EB%9E%80

 

[네트워크] REST API란? REST, RESTful이란?

REST API란 REST를 기반으로 만들어진 API를 의미합니다. REST API를 알기 위해 REST부터 알아보도록 하겠습니다. REST란? REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상

khj93.tistory.com

https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

 

[Network] REST란? REST API란? RESTful이란? - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

https://velog.io/@somday/RESTful-API-%EC%9D%B4%EB%9E%80

 

RESTful API 이란

REST API 에서 REST는 Representational State Transfer 의 약자로 소프트웨어 프로그램 아키텍처의 한 형식 입니다.즉, 자원을 이름 (자원의 표현) 으로 구분하여 해당 자원의 상태 (정보)를 주고 받는 모든

velog.io