해결된 질문
작성
·
70
1
HTTP강의에서 HTTP API 설계 방법에 대해서 배운다고 되어있는데
HTTP API가 RESTful API를 의미하는 걸까요?
사람인 같은 곳을 둘러보니까 RESTful API 설계 및 구현이 지원 자격이나 우대 사항에 많이 쓰여 있더라고요.
궁금해서 인터넷에서 검색을 해봤는데, "Restful API는 HTTP URI를 통해 자원(resource)을 명시하고, HTTP 메소드를 활용해서 해당 자원에 대한 CRUD 기능을 수행하도록 도와주는 웹 서비스 디자인 패턴이다" 라고 되어있는데 이해가 잘 안 되네요.
제가 학원에서 프로젝트를 할 때 Riot API를 사용해서 게임 전적 검색 사이트를 만들었는데, API 키를 발급 받고 특정 uri로 요청을 해서 JSON 같은 데이터를 받아 사용했거든요. 이런 API가 RESTful API인 걸까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
질문하신 RESTful API에 대한 설명을 원하시고, HTTP API와 RESTful API의 관계가 궁금하신 것 같습니다. 그리고 전적 검색 사이트 프로젝트에서 사용했던 API가 RESTful API에 해당하는지 여부도 질문하셨네요.
HTTP API가 RESTful API를 의미하느냐에 대한 답변입니다. HTTP API는 RESTful API를 구현하는 데 사용될 수 있는 기술 중 하나입니다. RESTful API 디자인 패턴은 HTTP 메소드(GET, POST, PUT, DELETE 등)와 URI를 활용하여 웹 서비스에서 리소스에 접근하는 방식을 정의합니다. 따라서, HTTP API 설계 방법을 배우는 것은 RESTful API를 설계하고 구현하기 위한 기초 지식을 익히는 과정에 해당합니다.
Riot API 프로젝트에서 API 키를 발급 받고, 특정 URI로 요청하여 JSON 데이터를 받아 사용한 부분은 RESTful API의 특징 중 일부를 구현한 것입니다. RESTful API의 가장 큰 특징은 자원(resource)을 URI로 표현하고, 해당 자원에 대한 행위를 HTTP 메소드로 정의하여 사용한다는 점입니다. JSON 형태로 데이터를 주고 받는 것은 RESTful API에서 자주 사용되는 표현 방식 중 하나이며, 이를 통해 클라이언트와 서비스가 통신합니다.
RESTful API에 대해 설명하는 강의를 찾고 계신다면, 아래의 링크를 참고하시는 것도 도움이 될 것 같습니다:
모든 개발자를 위한 HTTP 웹 기본 지식에서는 HTTP 기반의 웹 통신 원리와 함께 API 설계의 기본에 대해서 배울 수 있습니다. 질문하신 RESTful API의 원리와 디자인 패턴에 대해서도 이 강의가 기초적인 이해에 도움을 줄 수 있습니다.
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화에서는 RESTful API 설계 및 최적화 방법에 대해 배울 수 있으며, 실제 스프링 프로젝트에서 API를 어떻게 구현하는지 실습을 통해 경험할 수 있습니다.
이해를 돕기 위해 간단히 정리하자면, RESTful API는 리소스 지향 아키텍처 스타일로, 웹 서비스 설계에 있어 중요한 디자인 패턴입니다. HTTP 프로토콜을 이용하여 구현되며, URI를 통해 리소스를 명시하고 HTTP 메소드(GET, POST, PUT, DELETE)를 이용하여 해당 리소스에 대한 CRUD(Create, Read, Update, Delete) 연산을 처리합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.