API( Application Programming Interface)
• 한 프로그램에서 다른 프로그램으로 정보를 주고받기 위한 규약(약속) |
• 모든 프로그램은 API를 가질 수 있음 |
REST
• 웹 서비스 개발에 널리 사용되는 아키텍처 스타일 |
• HTTP 프로토콜 위에서 동작 |
• HTTP URI를 통해 자원(Resource) 명시, HTTP Method를 통해 자원에 대한 CRUD 작업을수행 |
• 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미 |
REST API( representational state transfer API)
클라이언트와 서버 간의 통신 방식을 정의할 때 REST 아키텍처 스타일을 따르는 AP |
REST 기반으로 서비스 API를 구현한 것 |
REST 규칙이란?
• URL로 리소스 식별 |
• HTTP 메서드로 리소스 조작(Get, Post, Put, Patch, Delete) |
• Request(요청)와 Response(응답) 두가지의 데이터 값을 통해 상태가 전달됨 |
• 상태 코드(Status code) 를 통해 클라이언트의 요청에 대한 서버의 처리 결과를 나타냄. |
• 해더를 활용하여 Request와 Response에서 Header를 이용해 부가 정보를 기입할 수 있음 |
• 서버 측은 요청 시도 시 무상태(stateless) 여야 하며, 서버는 클라이언트의 요청을 처리한 후 상태를 보관하지 않음. |
ex. 로그인 요청 후, 다음 요청에서 로그인 정보를 서버에게 다시 알려줘야 함 |
서버가 상태를 유지해야 한다면 데이터베이스에 리소스를 저장해야 함 |
*. Request Header에 들어갈 수 있는 정보
Accept | 응답으로 받고 싶은 데이터 형식 지정 |
Authorization | 인증하기 위한 정보(ID나 비밀번호 등)를 지정 |
Content-Type | 요청의 바디 데이터 형식 지정 |
*. Response Header에 들어갈 수 있는 정보
Content-Type | 응답 바디의 데이터 형식 지정 |
Location | 새로 등록한 리소스의 URL 지정 |
'국비지원 공부 정리 > SpringBoot' 카테고리의 다른 글
Spring Boot를 이용해 데이터 주고받기 (0) | 2025.04.10 |
---|---|
JAVA에 존재하는 객체 - DTO, VO, (0) | 2025.04.10 |
Thymeleaf 란? (0) | 2025.04.10 |
Spring MVC (0) | 2025.04.10 |
Spring Boot의 기본 구조 (1) | 2025.04.10 |