Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 개발생산성
- python 기초
- 민생회복지원금
- IntelliJ
- 지원금신청방법
- Vue 강의
- docker mysql
- Spring
- intelliJ plugin
- Vue 알아보기
- docker
- 주식용어
- GPT
- JetBrains
- gradle
- 미국 배당주
- Spring Batch 강의
- Python 기본편
- scrapy
- 디버깅
- 개발툴팁
- AES256
- intellij완전정복
- MYSQL
- python
- Vue 배우기
- spring boot 시작
- Ai
- 자바패턴
- java
Archives
나만의공간
🚀 Spring Boot로 REST API 만들기 완전 정복 본문
🚀 Spring Boot로 REST API 만들기 완전 정복
Spring Boot는 빠르게 REST API를 구축할 수 있는 프레임워크로, 실무에서도 널리 사용되고 있습니다. 이 글에서는 실제 코드와 함께 REST API를 처음부터 끝까지 만드는 방법을 단계별로 안내합니다.
1️⃣ 프로젝트 세팅 (Spring Initializr)
- start.spring.io에서 Gradle 또는 Maven 프로젝트 생성
- 필수 선택 항목:
Spring Web
,Lombok
,Spring Boot DevTools
,Spring Data JPA
,H2 Database
// application.yml
spring:
datasource:
url: jdbc:h2:mem:testdb
driver-class-name: org.h2.Driver
username: sa
password:
jpa:
hibernate:
ddl-auto: update
show-sql: true
2️⃣ 간단한 도메인 클래스 생성 (User)
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
}
3️⃣ Repository 생성
public interface UserRepository extends JpaRepository<User, Long> {}
4️⃣ 서비스 클래스 작성
@Service
@RequiredArgsConstructor
public class UserService {
private final UserRepository userRepository;
public List<User> getAllUsers() {
return userRepository.findAll();
}
public User saveUser(User user) {
return userRepository.save(user);
}
public User getUserById(Long id) {
return userRepository.findById(id).orElseThrow(() -> new RuntimeException("User not found"));
}
public void deleteUser(Long id) {
userRepository.deleteById(id);
}
}
5️⃣ REST Controller 만들기
@RestController
@RequestMapping("/api/users")
@RequiredArgsConstructor
public class UserController {
private final UserService userService;
@GetMapping
public List<User> getUsers() {
return userService.getAllUsers();
}
@PostMapping
public User createUser(@RequestBody User user) {
return userService.saveUser(user);
}
@GetMapping("/{id}")
public User getUser(@PathVariable Long id) {
return userService.getUserById(id);
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable Long id) {
userService.deleteUser(id);
}
}
✅ API 테스트 예시 (Postman)
- GET
/api/users
→ 전체 사용자 조회 - POST
/api/users
→ 사용자 생성 (JSON Body 필요) - GET
/api/users/1
→ 특정 사용자 조회 - DELETE
/api/users/1
→ 사용자 삭제
{
"name": "홍길동",
"email": "hong@example.com"
}
💡 확장 Tip: Swagger 연동하기
API 문서 자동화를 위해 Swagger(OpenAPI)를 사용하는 것을 추천합니다.
<!-- build.gradle -->
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0'
설치 후 http://localhost:8080/swagger-ui/index.html
에서 확인 가능
📌 마무리 정리
항목 | 내용 |
---|---|
기술 | Spring Boot, JPA, REST API |
테스트 도구 | Postman, Swagger |
추천 대상 | 초보 개발자, 실무 백엔드 개발자 |
🔚 마무리
이제 여러분도 Spring Boot로 REST API를 만들 수 있습니다! 실무에서는 인증(JWT), 예외 처리, 응답 포맷 통일 등 추가적으로 고려해야 할 사항들이 있지만, 이 글로 기초를 튼튼히 다지셨기를 바랍니다. 😊
'IT > JAVA' 카테고리의 다른 글
자바로 크롤러 만들기 – Jsoup 사용법 완전 정리 (1) | 2025.06.21 |
---|---|
Spring Security로 로그인 기능 구현하기 (JWT 포함) (1) | 2025.06.20 |
🦋 플라이웨이트(Flyweight) 패턴 완전 정복 (1) | 2025.06.01 |
🎬 퍼사드 패턴(Facade Pattern) 완전 정복 - 영화 감상 시스템 예제로 이해하기 (0) | 2025.06.01 |
🧱 데코레이터 패턴 완전 정복 - 커피 주문 예제로 배우는 디자인 패턴 (0) | 2025.06.01 |
Comments