이전 REST API는 DB 없이 내장 메모리를 통해 구현했기 때문에, DB를 사용한 Rest API를 작성하도록 하였다.
-굉장히 간단하다.
1. Start.Spring.io
Dependencies에 MySql DB를 사용하기 위해서 MySQL 드라이버를 추가하였고, JPA, Lombok을 추가로 주입하였다.
- application.properties
spring.jpa.show-sql=true
spring.jpa.generate-ddl=true
#Mysql
spring.jpa.database=mysql
#DBNAME = db??, username, password??
spring.datasource.url=jdbc:mysql://localhost:3306/lee?useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=??
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
- DB 생성
number 을 기본키로 한 Player 테이블을 만들었다. number라는 칼럼명이 조금 생소해서 웬만하면 ID로 해야겠다.
- Entity와 Repository
- Controller
Rest API를 구현하기 위한 controller를 알아보자
@RestController 어노테이션을 통해서 Controller임을 선언해주고, @Autowired를 이용해서, 생성자를 선언해주었다.
- GET
Get은 모든 데이터를 불러오는 역할을 하기 때문에, playerRepository.findAll()을 통해서 모든 값을 받아오기로 했다.
PostMan으로 확인 시 DB안 알맞은 값이 나오는 것을 확인할 수 있다.
- POST
post는 데이터를 보내는 역할을 하는데, URL을 통해 보내는 방법 (@RequestParam), Json Object로 보내는 방법(@RequestBody)로 작성했다.
- PUT
데이터를 수정하는데 사용하는 PUT이다.
PUT 역시 두가지 방법으로 실행하였다. PlayerRepsoitory안에 있는 객체에 findById를 통해 해당 객체를 찾는다.
찾는 경우 (@pathVariable 어노테이션을 이용해서, 변하는 값을 컨트롤 할 수 있다.
이후 내가 입력하는 Json 객체 toplayer의 값을 set,get을 통해 설정해주면 된다.
-DELETE
다음은 삭제를 하는 DELETE PUT 과 같이 findById를 사용하여 삭제할 수 있다.
삭제된 모습을 확인할 수 있다.
아주 간단하게 DB를 통해 REST API를 구현해보았다.
'휴지통.. > Spring' 카테고리의 다른 글
Spring Boot OPEN API 활용 - 원하는 필드만 사용하기. (0) | 2022.04.24 |
---|---|
Spring 게시판 만들기 (0) | 2022.03.20 |
Spring boot 로 RESTful API 구현하기 (0) | 2022.03.11 |
SpringBoot 입문 - DB와 프로젝트 연결하기 (0) | 2022.01.13 |
SpringBoot 입문 - Form 데이터 주고받기 (0) | 2022.01.13 |