협업의 시대, 우리는 어떤 API를 만들고 있을까?
현대 소프트웨어 개발은 개인의 작업이 아니라 많은 소프트웨어 엔지니어가 협업하여 결과물을 만들어 낸다. 협업에 있어서 중요한 것은 이들 간의 '신뢰할 수 있는 API'를 구축하는 것이다. API는 서로 다른 소프트웨어가 상호작용하는 연결점으로, 이를 설계하는 것은 협업의 핵심이자 신뢰성 있는 서비스를 제공하는 데 중요하다. API를 만들 때 테크 스펙과 함께 API 명세 작성을 가장 먼저 해야 한다. 이는 해야 할 일을 명확히 정의하고, 협업 시 발생하는 커뮤니케이션 비용을 줄여주는 역할을 한다. 그러나 시간이 지나면서 API 명세에 구현 내용 반영이 제대로 이루어지지 않아 오류가 발생하는 경우가 있다. 이를 해결하기 위한 세 가지 방안이 있다. 첫째, API 명세를 기반으로 코드를 생성하여 명세와 코드 사이의 차이를 없애기 둘째, GraphQL을 활용해 서버에서 실시간으로 쿼리 가능한 스키마 정보를 확인하고 필요한 데이터를 조회하기 셋째, 계약 테스트를 통해 API 소비자와 공급자 간의 규약이 정상적으로 지켜지는지 검증하기 어떤 방법을 선택하든 중요한 것은 API 명세를 'Single Source of Truth'로 취급하며 협업해야 한다. https://www.youtube.com/watch?v=BjvVfUQtsOs