LUMI_dev
서버 - #4. API & RESTful API 본문
스파르타 코딩 클럽 | 자바 심화 과정/Spring Master (입문 주차)
서버 - #4. API & RESTful API
luminous_dev 2025. 1. 19. 17:37API란?
API (application programming interface)
: 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙
ex) 주문을 받으면 → 주문의 음식을 가져다 주는 식당의 점원
interface (인터페이스)
: 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고 받는 경우의 접점이나 경계면
: 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템
RESTful API란? (Representational State Transfer)
: API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처
고유 리소스 식별자
: REST 서비스의 경우 서버는 URL을 사용해서 리소스 식별 수행
메서드
메서드 | 내용 |
GET | 서버에 지정된 URL에 있는 리소스에 액세스 |
POST | 서버에 데이터 + 데이터 표현 전송 동일한 POST 요청 여러번 전송 → 동일한 리소스를 여러 번 생성하는 부작용 |
PUT | 서버의 기존 리소스 업데이트 동일한 PUT 요청 여러 번 전송해도 결과 동일 |
RESTful한 설계
- API의 리소스 식별자를 중복 없이 고유하게 만듬
- API 적절한 HTTP 메서드를 사용
중복 없는 경우 예시
: GET /users/{userId}, POST /users, PUT /users/{userId} , DELETE /users/{userId}
중복 있는 경우 예시
: GET /users/{userId}, GET /users/{username} → ex) 사용자 정보를 userId로 조회하는 것과 username으로 조회하는 것
* 같은 정보를 조회할 때 다른 리소스를 사용하는 것은 중복
'스파르타 코딩 클럽 | 자바 심화 과정 > Spring Master (입문 주차)' 카테고리의 다른 글
Postman 설치 및 사용방법 & API 테이블 (1) | 2025.01.19 |
---|---|
서버 - #5. Apache Tomcat이란? (1) | 2025.01.19 |
서버 - #3. 웹서버 (0) | 2025.01.19 |
서버 - #2. 클라이언트/서버 (1) | 2025.01.19 |
서버 - #1. 네트워크 (0) | 2025.01.19 |