[Do it! Node.js 입문] 12. API

2024. 4. 3. 03:28·백엔드/Node.js

애플리케이션

백엔드 개발에서 애플리케이션은 특정 기능을 제공하는 프로그램, 그 자체로 완전한 소프트웨어이다.

 

API

Application Programming Interface의 약자로, 애플리케이션 간에 자료를 주고 받으면서 특정 기능을 실행한다. API를 사용하면 다른 시스템끼리 자료를 주고 받을 수도 있고, 새로운 애플리케이션을 만들 수도 있다.

 

예를 들어 SNS 사이트를 만든다고 하면, 애플리케이션은 사용자 로그인을 위한 API, 게시물을 작성하는 API 등 다양한 API가 존재할 수 있다. 만일 웹사이트에서 사용한 API를 공개할 경우 이 API를 다른 애플리케이션에서도 활용할 수 있다.

 

API는 프로그램의 명령 목록을 정리하고, 명령을 받으면 응용프로그램과 상호작용하여 명령에 대한 값을 전달한다.

즉 프로그램들이 서로 상호작용하는 것을 도와주는 매개체로 볼 수 있다. 둘 이상의 컴퓨터 혹은 애플리케이션 간에 자료를 어떻게 주고받는지를 지정하는 역할을 한다.

 

RESTful API

HTTP 프로토콜을 활용해서 자료를 주고받으려면 약속된 구조가 필요한데 이것이 바로 REST이다.

이러한 REST를 잘 지켜서 개발한 API를 RESTful API라고 한다.

 

RESTful API에서 주고받을 자원의 위치는 URL을 사용해 표현해야 한다.

RESRful API 구조

API 만들기

복잡한 코드를 읽기 쉽고 관리하기 편하도록 기능이나 역할에 따라 여러 파일로 나눈 뒤 연결해서 사용하는 것을 디자인 아키텍처라고 한다.

 

이 중 MVC는 model, view, controller의 앞 글자를 따서 붙인 패턴으로, 애플리케이션을 세 영역으로 나누어 구성하는 방식을 가리킨다. 

  • model: 사용자에게 어떻게 보일 지는 신경 쓰지 않고 처리할 대상에 집중한다. (DB에 가까움)
  • view: 애플리케이션에 표시되는 화면을 만든다.
  • controller: 모델과 뷰 중간에 위치하면서 요청에 따라 이 둘을 수정하는 역할을 한다. 라우트 코드가 컨트롤러에 해당한다.

수정의 편의성을 위해 라우트를 한 번 더 나눠준 모습이다.

 

 

'백엔드 > Node.js' 카테고리의 다른 글

[Do it! Node.js 입문] 11. 데이터베이스  (0) 2024.04.02
[Do it! Node.js 입문] 10. 미들웨어  (0) 2024.04.02
[Do it! Node.js 입문] 09. express 활용  (1) 2024.04.02
[Do it! Node.js 입문] 08. express 설정  (0) 2024.03.30
[Do it! Node.js 입문] 07. 비동기 작업 처리 방법  (0) 2024.03.28
'백엔드/Node.js' 카테고리의 다른 글
  • [Do it! Node.js 입문] 11. 데이터베이스
  • [Do it! Node.js 입문] 10. 미들웨어
  • [Do it! Node.js 입문] 09. express 활용
  • [Do it! Node.js 입문] 08. express 설정
JYUN_
JYUN_
예비 개발자 성장기록
  • JYUN_
    데브 스토리
    JYUN_
  • 전체
    오늘
    어제
    • 분류 전체보기 (89)
      • AWS & 클라우드 컴퓨팅 (1)
        • AWS (2)
      • AI & ML (17)
        • 딥러닝 (3)
        • 인공지능 기초 (2)
        • 자연어 처리 (3)
        • 컴퓨터 비전 (8)
      • CS 지식 (9)
        • 알고리즘 (1)
        • 자료구조 (4)
        • 지식확장 (1)
        • 컴퓨터 네트워크 (3)
      • 백엔드 (22)
        • Node.js (12)
        • Spring (9)
      • 웹 프론트엔드 (21)
        • HTML (3)
        • React (7)
        • 바닐라 JavaSctipt (11)
      • 코딩 테스트 & 문제 해결 (11)
        • 코딩 테스트 연습 (10)
        • 실전 문제 풀이 (1)
      • 트러블 슈팅 (1)
      • 기타 (4)
        • 개인 지식 관리 (1)
        • 외부 활동 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
JYUN_
[Do it! Node.js 입문] 12. API
상단으로

티스토리툴바