RESTful API 서버 구현 (스프링 부트와 JPA를 이용하는 API 서버 만들기)

RESTful API 서버 구현 (스프링 부트와 JPA를 이용하는 API 서버 만들기)

$32.00
Description
이 책은 최근에 유행하는 다양한 프런트 엔드 기술을 서포트하기 위해서 만들었습니다. React나 Vue.js, Android, iOS와 같이 별도의 애플리케이션을 제작하기 위해서는 데이터를 제공하는 API 서버의 존재는 필수적이고 이를 어떻게 만들어야 하는지에 대한 고민의 결과입니다.
이 책에서는 가장 흔하게 사용되는 RESTful한 서비스를 만들고 JWT를 활용해서 비정상적인 사용자의 접근을 차단하고 권한을 부여해 주는 방법에 대해서 알아봅니다. 작성하는 예제 코드는 Spring Data JPA를 이용해서 최소한의 코드로 데이터베이스 개발을 완료합니다.
이 책에서는 실제 서비스와 동일한 요청과 응답 결과를 처리할 수 있고, 확장 가능한 API 서버를 만들기 위한 모델을 만들고 이를 위해서 Spring Boot, Spring Data JPA, Spring Security를 활용합니다.

Spring Data JPA는 다음과 같은 방식으로 활용합니다.
 단순 CRUD는 JpaRepository를 활용한다. 리포지토리에서 최대한 DTO로 처리한다.
 목록 데이터는 Querydsl로만 설계해서 나중에 검색 조건을 처리하기 쉽도록 설계한다. Projections를 이용해서 DTO로 추출한다.

Spring Boot를 이용해서는 다음과 같은 내용을 다룹니다.
 각 기능은 분리가 가능한 구조로 설계되어야 한다.
 @RestController에서는 정상적인 응답을 그리고, 모든 예외 사항은 @RestControllerAdvice를 통해서 처리한다.

Spring Security는 다음과 같은 기능을 구현합니다.
 JWT의 Access Token과 Refresh Token을 처리할 수 있어야 한다.
 JWT의 사용자 정보와 Security Context는 같이 활용될 수 있어야 한다.

[이 책의 대상 독자]

 Java 기반의 API 서버가 필요한 개발자와 조직
 프런트 엔드와 백 엔드를 분리해서 개발을 원하는 개발자
 JWT를 학습하고자 하는 서버 사이드 개발자
 Spring Data JPA를 학습하고자 하는 개발자
저자

구멍가게코딩단

프로그래밍을좋아하는10년차이상의개발자,강사들의비공개모임.강의와개발등을하면서얻은지식을정리하기위해서집필활동을하고있다.네이버카페(https://cafe.naver.com/gugucoding)에서독자들과소통하고있다.최근에는기업체교육활동을위주로관련지식을전파하고있다.저서로는〈코드로배우는리액트〉,〈코드로배우는스프링웹프로젝트[개정판]〉,〈코드로배우는스프링부트웹프로젝트〉등이있다.

목차

이책을내며
들어가며

PART1.API서버와REST

Chapter01API서버와웹MVC
1.1서버(server)의역할
1.2과거의웹프로그래밍과API서버
1.3REST방식과JSON
1.4REST방식의API설계

Chapter02REST방식연습하기
2.1예제프로젝트의생성
2.2의존성주입(DependencyInjection)
2.3REST를위한주요어노테이션
2.4REST의테스트

Chapter03SpringDataJPA
3.1MariaDB설치
3.2SpringDataJPA프로젝트의생성
3.3SpringDataJPA소개

Chapter04서비스계층과컨트롤러계층
4.1서비스계층의설계
4.2컨트롤러계층의설계
4.3컨트롤러의목록처리

PART2.JWT인증

Chapter05시큐리티(Security)처리와JWT
5.1Ajax와스프링시큐리티
5.2사용자엔티티준비
5.3API서버의시큐리티
5.4사용자정보를이용한토큰발행
5.5AccessToken을이용한접근
5.6JWTCheckFilter작성
5.7RefreshToken의활용
5.8Ajax와CORS

Chapter06Axios와API서버호출
6.1프런트엔드프로젝트생성
6.2페이지/JS파일추가
6.3로그인처리와보관
6.4AccessToken전송
6.5RefreshToken을이용한토큰갱신

PART3.연관관계실습

Chapter07파일업로드와상품엔티티
7.1파일업로드를위한설정
7.2@ElementCollection
7.3DTO를이용한처리
7.4상품관련서비스와예외설계
7.5상품컨트롤러의개발

Chapter08구현을통해서알아보는연관관계실습
8.1다대일(ManyToOne)연관관계
8.2리포지토리와테스트
8.3상품목록과리뷰의개수
8.4리뷰의서비스계층
8.5리뷰의컨트롤러처리
8.6상품과장바구니
8.7DTO와서비스계층
8.8컨트롤러의구현

찾아보기

출판사 서평

개발현장이나교육현장에서API서버를구현하는일은특별한일이아닙니다.API서버를이용해야하는상황은점차늘고있는데바로사용할수있는단순한라이브러리나프로그램들은원하는기능을제공하지않는경우가대부분입니다.
이책은테스트코드를이용해서동작여부를확인하고서비스계층과컨트롤러는Postman을이용해서확인하는방식으로개발하는데이과정에서예외처리에대해서고민하고이를@RestControllerAdvice를이용해서처리합니다.

이책은총3개의PART로학습내용이구성됩니다.