목차
클라이언트-서버 아키텍처에서 엔드포인트란?
엔드포인트는 클라이언트가 백엔드 서버와 통신할 때 요청을 보낼 수 있는 URI(URL)의 특정 지점을 의미한다. 특정 리소스나 기능에 접근할 수 있는 주소 역할을 하며, HTTP 요청을 처리하는 백엔드의 진입점이다.
엔드포인트 구성
엔드포인트 구성 = HTTP 메서드 + URL 경로 + (요청 헤더와 본문)
1. HTTP 메서드
클라이언트가 서버에 요청하는 작업의 종류를 나타낸다. 대표적인 HTTP 메서드는 다음과 같다.
- GET : 리소스를 조회할 때 사용
- POST : 리소스를 생성할 때 사용
- PUT : 리소스를 수정할 때 사용
- DELETE : 리소스를 삭제할 때 사용
2. URL 경로(Path)
서버의 특정 리소스에 대한 경로를 지정한다. 예를 들어 /api/users 라는 URL 경로는 사용자의 리소스를 의미할 수 있다.
(예시) 엔드포인트와 Spring 컨트롤러 관계
@RestController
@RequestMapping("/api/users")
public class UserController {
@GetMapping
public List<User> getAllUsers() {
// 모든 사용자 조회 로직
}
@PostMapping
public User createUser(@RequestBody User user) {
// 사용자 생성 로직
}
@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
// 특정 사용자 조회 로직
}
}
- 클라이언트에서 /api/users 요청하면 백엔드에서 /api/users path를 관리하는 UserController를 호출하고 HTTP Method에 따라 그 에 해당하는 기능을 실행한다.
- GET /api/users → 사용자 목록 조회 엔드포인트
- POST /api/users → 사용자 생성 엔드포인트
- GET /api/users/{id} → 특정 사용자 조회 엔드포인트
3. 요청 헤더(Header)와 본문
요청에 대한 추가 정보(인증 토큰, 데이터 형식 등)을 포함할 수 있다.
(예시) 요청 본문(JSON)
{
"name": "John Doe",
"email": "john@example.com"
}
'프로그래밍 > 용어' 카테고리의 다른 글
Spring Boot에서 핸들러(Handler)란? (1) | 2025.01.03 |
---|
댓글