APIs (Application Programming Interfaces) : 개념적으로는 소프트웨어 애플리케이션간에 서로 상호작용하는 방법을 말한다.
- 인터페이스 역할: API는 두 개 이상의 소프트웨어 컴포넌트 간의 인터페이스 역할을 한다. 이것은 서로 다른 프로그램이나 시스템이 데이터를 요청하고 주고 받을 수 있는 방법을 정의한다.
- 기능 제공: API는 특정 기능 또는 작업을 수행할 수 있는 메서드, 함수 또는 명령어를 제공한다. 이것은 다른 소프트웨어에서 해당 기능을 호출하거나 사용할 수 있도록 한다.
- 추상화: API는 구체적인 내부 동작을 추상화하여 개발자가 내부 구현에 대해 자세한 지식이 없어도 사용할 수 있도록 한다. 이것은 소프트웨어 개발을 단순화하고 효율적으로 만든다.
- 표준화: API는 표준 규약을 따르며, 이는 서로 다른 시스템 간의 상호 운용성을 보장한다. 이러한 표준은 다양한 플랫폼 및 언어에서 사용될 수 있다.
- 자료 교환: API를 통해 데이터를 교환할 수 있으며, 이것은 서로 다른 애플리케이션 간에 정보를 공유하고 업데이트할 때 중요하다.
- 보안 및 권한 관리: API는 보안 및 권한 관리를 통해 액세스를 제어하고, 인증 및 권한 부여 메커니즘을 통해 데이터의 무단 액세스를 방지한다.
- 웹 API: 인터넷을 통해 데이터 및 서비스를 제공하는 웹 API는 웹 기반 애플리케이션 간의 통신을 가능하게 한다. RESTful API와 SOAP API 등이 흔히 사용된다.
API request 구조
- API endpoints
웹을 기반으로 하는 API 요청은 endpoint를 반드시 지정해야 합니다. 포스트맨에서도 requests tab에서 URL을 입력하게 되어있습니다. API endpoint는 URL(Uniform Resource Locator)에 불과하기 때문입니다.
API endpoint는 서버에서 상호작용하는 특정 리소스의 동일한 로케이터입니다. 즉 URL은 API 호출에서 endpoint로 사용됩니다.
- API actions
모든 API 호출은 우리가 작업하고 있는 리소스를 지정해야 합니다. API 작업으로 API 수행하기 원하는 것을 지정합니다. 이러한 것을 verbs라고 부르기도 합니다. 일부 리소스의 경우 특정 작업만 유효하고, 다른것들은 여러개의 다른 유효한 API 작업이 있을 수 있습니다.
포스트맨에서는 action을 지정할 때, 드롭다운으로 GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD을 선택할 수 있습니다. GET, POST, PUT, DELETE를 CRUD(Create, Read, Update, Delete)라고도 합니다.
POST는 새로운 개체를 만드는데 사용되고, GET은 개체에 대한 정보를 읽는데 사용되며, PUT은 기존 개체를 수정하는데 사용되고, DELETE는 개체를 삭제하는데 사용됩니다.
- API parameters
API 파라미터는 API의 순서와 구조를 만드는데 사용됩니다.
ex)Github 레파지토리의 유저명
1)Request parameters
API endpoint에서 요청 파라미터를 대체 문자열로 생각할 수 있습니다.
파라미터로 사용되는 형식이 무엇이든 간에, 요청 파라미터의 요점은 모두 동일한 유형인 다른 개체에 대한 특정 정보를 얻는 것입니다.
2)Query parameters
request 파라미터와 다른 종류의 파라미터로는 query 파라미터가 있는데, 다루기 조금 더 까다롭습니다.
쿼리 파라미터는 종종 endpoint에 적용할 수 있는 일종의 필터 또는 추가작업과 같은 역할을 합니다.
이들은 endpoint에서 물음표로 표시되며 쿼리할 항목인 키와 쿼리가 반환될 값으로 지정됩니다.
ex) 쿼리 파라미터 캡처본
- API headers
모든 API 요청은 일부 헤더를 포함해야 합니다. 헤더에는 중요치 않은 배경정보 중 일부를 포함하기도 하지만, 서버가 요청을 보내는 클라이언트에 대한 정보를 가질 수 있도록 도와줍니다.
원하는 API를 얻기 위해서 헤더를 수정하거나 추가하기도 하지만 기본적으로 디폴트 헤더를 사용합니다.
- API body
API가 있는 리소스를 생성하거나 수정하기를 원한다면, 서버 리소스가 가질 속성에 대한 정보를 제공해야 합니다. 이런 정보는 보통 request body에 특정됩니다. request body 많은 형식을 취할 수 있습니다.(from-data, encoded from data, raw data, binary data, GraphQL data)
- API response
API는 두 방향입니다. request에 있는 서버에 데이터를 보내기도 하지만 서브는 요청을 처리해서 response를 보냅니다. API 응답은 쿠키와 헤더같은 몇가지들도 포함할 수 있습니다. 이러한 종류의 것들은 테스트를 하거나 API를 만들때 어떤 일이 일어나고 있는지에 대한 중요한 힌트가 될 수도 있습니다.
'API' 카테고리의 다른 글
API_ Authorization & Authentication (2) | 2024.01.01 |
---|---|
Open API와 API 명세 (2) | 2023.12.08 |
Postman_data값 가져오기 (0) | 2022.10.15 |
Postman_test문에서 status 확인 (0) | 2022.10.10 |
Postman_포스트맨 툴 사용법 (1) | 2022.10.05 |
댓글