어떻게 하면 웹서비스를 편안하게 개발할까?
Rest에 대해 학습 이유?
백엔드 개발자의 시작은 바로 프론트엔드와 연동하기 위한 API 개발이다. 그래서 백엔드 개발자가 되기로 마음을 먹었다면 ‘원하는 기능의 API를 만들어야지’ 라고 생각 하면된다. 그중에서도 REST API를 시작하면 좋은 이유는 오랫동안 API개발의 표준 처럼 사용 되어 왔고 서버개발의 전반적인 흐름을 이해 하는데 도움이 되기 때문이다. 최근에는 GraphQL을 도입하는 회사들도 많아지고 개발 생산성도 좋은 편이지만 아직 까지는 좋은 백엔드 개발자가 되기 위해서는 REST API를 먼저 익히고 학습 하는게 좋다고 생각한다.
RestFul Web Service란 무엇인가??
=> URI + HTTP standard method를 통해 Server에 요청
=> 웹서비스를 편안하게 개발하기 위해서 고안된 방식
=> Method, Resource, Message 3가지를 통한 패턴이라고 볼 수 있다. (ex. [post, JSON, 201 CREATED] ... )
=> 아이폰, 웹페이지 안드로이드등 어떠한 플랫폼이라도 의존하지 않고 사용할 수 있는 장점이 있다.
Rest API 사용 이유
1. 분산 시스템을 위해서다.
거대한 애플리케이션을 모듈, 기능별로 분리하기 쉬워졌다. RESTful API를 서비스하기만 하면 어떤 다른 모듈 또는 애플리케이션들이라도 RESTful API를 통해 상호간에 통신을 할 수 있기 때문이다.
2. WEB브라우저 외의 클라이언트를 위해서다. (멀티 플랫폼)
웹 페이지를 위한 HTML 및 이미지등을 보내던 것과 달리 이제는 데이터만 보내면 여러 클라이언트에서 해당 데이터를 적절히 보여주기만 하면 된다.
예를 들어 모바일 애플리케이션으로 html같은 파일을 보내는 것은 무겁고 브라우저가 모든 앱에 있는 것은 아니기 때문에 알맞지 않았는데 RESTful API를 사용하면서 데이터만 주고 받기 때문에 여러 클라이언트가 자유롭고 부담없이 데이터를 이용할 수 있다. 서버도 요청한 데이터만 깔끔하게 보내주면되기 때문에 가벼워지고 유지보수성도 좋아졌다.
HTTP Method | URI | Operation |
GET | /api/users | returns a list of users |
GET | /api/users/1 | returns the user with ID 1 |
POST | /api/users | creates a new user |
PUT | /api/users/3 | updates the user with ID 3 |
DELETE | /api/users/4 | deletes the user with ID 4 |
DELETE | /api/users | deletes all the users |
=> Client가 이러한 인터페이스를 통해 보내주면서, 결과물에 대해서 예측 가능할 수 있다.
참고자료
'Backend > Spring & SpringBoot' 카테고리의 다른 글
[Spring Boot] Spring Boot 의 특징 (0) | 2022.03.08 |
---|---|
[Spring] 스프링에서의 Restful web Service (0) | 2022.03.08 |
[Spring Boot] Spring Data JPA의 사용법과 사용이유, 예시 (0) | 2022.03.07 |
[Spring Boot] Spring에서의 Hibernate 사용법 (0) | 2022.03.07 |
[Spring Boot] Hibernate 에서 Entity Relationships (0) | 2022.03.07 |