스프링 부트 프레임워크를 사용하여 RESTful API를 빌드, 보호 및 배포하는 포괄적인 가이드인 "실전 스프링 부트 REST API 개발 (feat. Java, JDBC, MySQL, Maven)"에 오신 것을 환영합니다. 이 책은 최신 모범 사례를 사용하여 확장 가능하고 프로덕션에 바로 사용할 수 있는 웹 애플리케이션을 만들고자 하는 초보자와 숙련된 개발자 모두를 위해 맞춤 제작되었습니다. 단계별 지침과 실용적인 예제를 통해 효율적인 API 개발을 위해 스프링 부트의 강력한 도구와 기능을 활용하는 방법을 배울 수 있습니다.
1장, '스프링 부트 개발 환경'에서는 애플리케이션 빌드를 시작하는 데 필요한 도구를 갖출 수 있도록 Java와 Spring Tools 4를 설치하는 과정을 안내하여 기초를 다집니다.
2장, '스프링 부트 프로젝트 만들기'에서는 스프링 부트 프로젝트를 만들고, 필수 파일을 구성하고, 첫 번째 애플리케이션을 실행하는 방법을 설명합니다. Spring MVC를 소개하고 그 구조와 의존성을 살펴봅니다.
3장, '롬복'에서는 상용구 코드를 줄여 Java 클래스를 간소화하는 롬복 라이브러리를 소개합니다. Getter, @Setter, @Data, @Slf4j와 같은 어노테이션에 대해 알아봅니다.
4장, 'REST'에서는 REST 원칙과 API 설계에 대한 개요를 제공합니다. 이 장에서는 @RestController 어노테이션, REST 클라이언트와 상호 작용하기, API 문서화하기 등을 다룹니다.
5장, 'JSON'에서는 RESTful API에서 일반적으로 사용되는 데이터 형식인 JSON에 중점을 둡니다. JSON 데이터 유형과 JSON을 Java 클래스에 매핑하는 방법에 대해 알아봅니다.
6장, 'jQuery Ajax 통신'에서는 jQuery의 AJAX 메서드($.get(), $.post() 등)를 사용하여 REST API와 상호 작용하여 실시간 클라이언트-서버 통신을 구현하는 방법을 설명합니다.
7장, '컨트롤러 요청 매핑'에서는 HTTP 요청을 컨트롤러 메서드에 매핑하는 방법을 설명합니다. 경로 매핑, HTTP 메서드 매핑, 헤더 기반 매핑을 다룹니다.
8장, '컨트롤러 응답'에서는 유연성 향상을 위한 ResponseEntity, 컬렉션, byte[] 같은 원시 데이터를 포함한 다양한 응답 유형을 살펴봅니다.
9장, '컨트롤러 요청 처리'에서는 매개변수, JavaBean, 파일 업로드, @JsonFormat을 사용한 날짜 서식을 포함한 수신 요청 처리에 대해 설명합니다.
10장, '입력 유효성 검사'에서는 데이터 무결성 및 오류 관리를 보장하기 위해 @NotNull 및 @Size와 같은 어노테이션을 사용하여 사용자 입력의 유효성을 검사하는 방법을 설명합니다.
11장, '메시지 처리'에서는 애플리케이션에서 여러 언어를 지원할 수 있도록 하는 국제화 및 메시지 소스 구성을 소개합니다.
12장, '의존성 주입'에서는 필드 기반, 생성자 기반, 설정자 기반 등 다양한 의존성 주입 방법과 Spring의 모듈식 설계에서 의존성 주입의 역할에 대해 설명합니다.
13장, '예외 처리'에서는 사용자 정의 예외와 유효성 검사 오류 처리를 포함한 예외 관리 전략을 다룹니다.
14장, '인터셉터'에서는 로깅 및 사용자 지정 권한 확인과 같은 요청 전처리 및 후처리를 위한 인터셉터에 대해 살펴봅니다.
15장, '데이터베이스 연결'에서는 데이터 지속성을 위한 MySQL 설정, Spring JDBC, JPA 및 MyBatis를 다루는 데이터베이스 통합을 소개합니다.
16장, 'Spring JDBC'에서는 데이터 검색, 수정, 결과를 Java 객체에 매핑하는 등 데이터베이스 작업에 JdbcTemplate을 사용하는 방법을 살펴봅니다.
17장, 'REST API 서버 구현하기'에서는 @RepositoryRestController와 HATEOAS 사용을 포함해 완전한 RESTful API 서버를 구축하는 과정을 안내합니다.
18장, 'SPA 클라이언트'에서는 API와 통합된 콘텐츠 게시, 편집 및 나열과 같은 기능을 사용하여 Angular를 사용하여 SPA(단일 페이지 애플리케이션)를 구축하는 방법을 설명합니다.
19장, '파일 업로드'에서는 이미지 업로드, 다중 파일 처리, 비동기 처리 등 파일 업로드를 구현하는 방법을 설명합니다.
20장, 'AOP'에서는 로깅 및 트랜잭션 관리와 같은 교차적인 문제를 @Before 및 @Around와 같은 어노테이션을 사용하여 관리하기 위한 관점 지향 프로그래밍을 소개합니다.
21장, '트랜잭션'에서는 데이터베이스 작업 중 데이터 일관성을 보장하는 트랜잭션 관리에 중점을 둡니다.
22장, 'Spring Security'에서는 JDBC 기반 인증, 사용자 정의 로그인 페이지, 액세스 제어 등 Spring Security를 사용한 인증 및 권한 부여에 대한 자세한 개요를 제공합니다.
23장, 'JWT'에서는 토큰 생성, 유효성 검사 및 보안 필터와의 통합을 설명하면서 JSON 웹 토큰(JWT)으로 REST API를 보호하는 방법을 다룹니다.
24장, '실전 REST API 프로젝트'에서는 모든 것을 완전한 실제 프로젝트와 연결합니다. 사용자 관리, 제품 구매, 액세스 로깅, 서비스 성능 모니터링과 같은 기능을 구현하게 됩니다.
이 책을 다 읽고 나면 스프링 부트 REST API 개발을 완전히 이해하게 될 것입니다. 확장 가능하고 안전한 API를 설계, 구현 및 배포하여 최신 개발 표준을 충족하는 실제 애플리케이션을 만들 수 있게 됩니다.
이 책은 종이책 형태가 아닌 EPUB 전자책으로 제작되어, 전통적인 페이지 레이아웃과는 다른, 웹 기반의 흐름을 취하고 있습니다. 따라서 종이책과 같은 구성에 익숙한 독자라면 다소 이질감을 느낄 수 있습니다.