pring Boot는 Spring Framework를 기반으로 하는 경량화된 애플리케이션 개발 도구로, RESTful API 서버를 쉽게 구축할 수 있는 기능을 제공합니다. 이 글에서는 Spring Boot를 사용하여 RESTful API 서버를 구축하는 방법을 단계별로 알아보겠습니다.
1. RESTful API란?
RESTful API는 HTTP 프로토콜을 기반으로 클라이언트와 서버 간의 데이터 교환을 효율적으로 처리하는 아키텍처 스타일입니다. 주요 특징은 다음과 같습니다:
2. 프로젝트 초기 설정
Spring Boot 프로젝트를 생성하려면 Spring Initializr를 사용하면 편리합니다.
3. RESTful API 엔드포인트 구현하기
다음은 간단한 사용자(User) 관리 API를 구현하는 예제입니다.
package com.example.demo.model;
public class User {
private Long id;
private String name;
private String email;
// 생성자, Getter, Setter
public User(Long id, String name, String email) {
this.id = id;
this.name = name;
this.email = email;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
package com.example.demo.controller;
import com.example.demo.model.User;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@RestController
@RequestMapping("/api/users")
public class UserController {
private List<User> users = new ArrayList<>(Arrays.asList(
new User(1L, "John Doe", "john@example.com"),
new User(2L, "Jane Doe", "jane@example.com")
));
// 모든 사용자 조회
@GetMapping
public List<User> getAllUsers() {
return users;
}
// 특정 사용자 조회
@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
return users.stream()
.filter(user -> user.getId().equals(id))
.findFirst()
.orElse(null);
}
// 사용자 추가
@PostMapping
public User addUser(@RequestBody User user) {
users.add(user);
return user;
}
// 사용자 수정
@PutMapping("/{id}")
public User updateUser(@PathVariable Long id, @RequestBody User updatedUser) {
User user = users.stream()
.filter(u -> u.getId().equals(id))
.findFirst()
.orElse(null);
if (user != null) {
user.setName(updatedUser.getName());
user.setEmail(updatedUser.getEmail());
}
return user;
}
// 사용자 삭제
@DeleteMapping("/{id}")
public String deleteUser(@PathVariable Long id) {
users.removeIf(user -> user.getId().equals(id));
return "사용자가 삭제되었습니다.";
}
}
4. 애플리케이션 실행 및 테스트
DemoApplication
클래스에서 main
메서드를 실행하여 서버를 시작합니다.GET http://localhost:8080/api/users
POST http://localhost:8080/api/users
Content-Type: application/json
{
"id": 3,
"name": "Alice",
"email": "alice@example.com"
}
5. Spring Boot의 장점
결론
Spring Boot로 RESTful API 서버 구축하는 방법에 대해 알아 보았습니다. Spring Boot는 RESTful API 서버를 쉽고 빠르게 구축할 수 있는 강력한 도구입니다.
위 예제를 따라하며 기본적인 API 엔드포인트를 구현이 가능합니다. 실무에서 활용할 수 있는 애플리케이션을 설계해 보시기 바랍니다. 다음 블로그에서는 Java에서의 디자인 패턴 중 싱글턴(Singleton) 패턴 구현하는 방법에 대해 알아 보겠습니다. 감사합니다.
디딤돌 전세 대출을 받은 실제 경험 바탕으로 포스팅을 작성합니다. 디딤돌 대출은 생애최초, 신혼부부 대출로 나뉘어져…
현대 웹 애플리케이션에서는 보안이 중요한 요소이며, Spring Security는 강력한 인증 및 권한 관리 기능을 제공합니다.…
애플리케이션 개발에서 로깅(logging)과 모니터링(monitoring)은 필수적인 요소입니다. Java 애플리케이션이 실행되는 동안 발생하는 이벤트를 기록하고, 성능 및…
API(Application Programming Interface)는 애플리케이션 간 데이터를 주고받기 위한 인터페이스로, Java에서는 주로 RESTful API와 GraphQL API를…
디자인 패턴(Design Patterns)은 소프트웨어 개발에서 자주 발생하는 문제를 해결하기 위한 일반적인 해결책을 제공합니다. 특히, GoF(Gang…
Java의 애너테이션(Annotation)은 메타데이터를 코드에 추가하는 기능을 제공합니다. 이를 활용하면 코드의 가독성을 높이고, 프레임워크에서 런타임 처리를…