API와 EndPoint

HEETAE HEO·2022년 7월 3일
1
post-thumbnail

API

프로그램들이 서로 상호작용하는 것을 도와주는 매개체로 볼 수 있습니다.

API의 역할

  1. API는 서버와 데이터베이스에 대한 출입구 역할을 합니다.

  2. API는 애플리케이션과 기기가 원할하게 통신할 수 있도록 합니다.

  3. API는 모든 접속을 표준화합니다.

REST API vs SOAP API

REST API는 네트워크를 통해서 컴퓨터들끼리 통신할 수 있게 해주는 아키텍처 스타일입니다. REST API는 인터넷 식별자와 HTTP 프로토콜을 기반으로 합니다. REST는 HTTP 프로토콜 덕분에 단순함이 핵심이라고 할 수 있습니다. 데이터 포맷으로는 브라우저 간 호환성이 좋은 JSON을 많이 사용합니다.

SOAP API는 그 자체로 프로토콜이며 보안이나 메시지 전송등에 있어서 REST보다 더 많은 표준들이 정해져있기 때문에 조금 더 복잡합니다. 이러한 표준들로 인해서 오버헤드가 많기는 하지만 보안, 트랜잭션, ACID(원자성,일관성,고립성,지속성)을 준수해야 하는보다 종합적인 기능이 필요한 조직에게는 적합한 방식이 될 수 있습니다.

EndPoint

메서드는 같은 URL들에 대해서도 다른 요청을 하게끔 구별하게 해주는 항목이 바로 EndPoint 입니다.

각각 GET, PUT, DELETE 메서드에 따라 다른 요청을 하는 것을 알 수 있습니다. 결국 EndPoint란 API가 서버에서 자원(resource)에 접근할 수 있도록 하는 URL 입니다.

EndPoint 코드 예시

Retrofit

 val Base_Url  = "https://restcountries.com/v2/"
 
 @GET("all")
    fun getCountryList() : Call<List<CountryModel>>

위의 Base_Url의 경우 Retrofit을 통해 데이터를 전송받기 위한 Url입니다. 그 아래에
@GET("all")이라는 어노테이션이 작성되어 있는데 해당동작은 이렇습니다.

getCountryList라는 메서드가 동작을 하게된다면 Base_Url에 해당 all을 붙여서 데이터를 요청하게 됩니다.

즉 모든 데이터를 받아오는 서버의 주소는 https://restcountries.com/v2/all이고
all은 모든 데이터를 받아올 수 있는 EndPoint인 것입니다.

profile
Android 개발 잘하고 싶어요!!!

0개의 댓글