์ค๋์ ์ฃผ์์ฌํญ (6/20, ํ์์ผ)
- Spring ์๋ จ ์ฃผ์ฐจ ํ์ดํ
๋ค๋ฅธ ํ๋ก์ ํธ๋ค์ ERD๋ฅผ ์ฐธ๊ณ ํด์ entity๋ฅผ ์ถ๊ฐํ๋ ๊ฒ๊น์ง ํ๋๋ฐ, ๊ด๊ณ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆฌ๋ ๋จ๊ณ์์ ๋งํ๋ค. ์ฌ์ดํธ ๊ธฐ๋ฅ์ด ์ด์ํ ๊ฒ๋ ํ ๋ชซ ํ์ง๋ง... (ใ ใ ) ์์ง ๋ฃ์ง ๋ชปํ ์ฃผ์ฐจ์ ERD์ ๋ํ ์ค๋ช ์ด ์๋๋ฐ ๊ทธ๋ถ๋ถ๊น์ง ์๊ฐํ๊ณ ์ฌ๋์ ํด๋ณด๋ ค๊ณ ํ๋ค.
SQL๋ ์ง DB๋ ์ง ์ต์ํ์ง ์๋ค๋ณด๋ table์ด ๋ ๊ฐ ํ์ํ๋ค๋ฉด schema๋ ๋ ๊ฐ ํ์ํ๊ฐ?! ๋ผ๋ ์๊ฐ์ ํํฐ๋๊ป ์ง๋ฌธ์ ํ๋ฌ ๊ฐ์๋ค.
JPA ํ๊ฒฝ์์๋ schema๋ฅผ ๋ ๊ฐ ์ด์ ์ฐ๊ฒฐํ๋ ๊ฑด ํ๋ค๋ค๊ณ ํ๋ค. application.properties
์์ ๋ช
์์ ์ผ๋ก schema๋ฅผ ์ง์ ํด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค.
spring.datasource.url=jdbc:mysql://localhost:3306/blog
ํ๋ก์ ํธ๋ฅผ ์งํํ ๋๋ entity์ ๋ฐ๋ฅธ table์ ๋ ๊ฐ ๋ง๋ค์ด์ฃผ๋ฉด ๋๋ค๋ ๋ต๋ณ์ ์ป์ ์ ์์๋ค.
success
๊ฒฐ๊ณผ ๋ฐํ์ด์ ์ ์งํํ๋ Spring-CRUD-Lv1์ Api ๋ช
์ธ๋ฅผ ๋ณด๋ฉด, [์ ํํ ๊ฒ์๊ธ ์ญ์ ์ฑ๊ณต] ์, Response
๊ฒฐ๊ณผ๋ก "success":"true"
๋ฅผ ๋ฐํํด์ผํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ๊ทธ๋์ SuccessResponstDto
๋ฅผ ํ๋ ๋ ๋ง๋ค์ด์ ์ถ๋ ฅํด์ฃผ์๋ค.
ํ์ง๋ง ํด๋ด๊ณ ๋์๋ ์ฐ์ฐํจ์ด ๋จ์์์ด์, ๊ณผ์ ํด์ค ์ฝ๋๋ฅผ ํ์ธํ๋๋ฐ, BlogResponseDto
์์ฑ์๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉ ํด์ฃผ๋ ๊ฒ์ด ์๋๊ฐ....
public BlogResponseDto(Blog blog) {
this.createdAt = blog.getCreatedAt();
this.modifiedAt = blog.getModifiedAt();
this.id = blog.getId();
this.title = blog.getTitle();
this.content = blog.getContent();
this.author = blog.getAuthor();
}
// success ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ dto ์์ฑ์
public BlogResponseDto(Boolean success) {
this.success = success;
}
๋๋ ๋ฐ๋ก ๋ณ๊ฒฝํด์ฃผ์ด์ ์ธ๋ฐ์๋ ๊ฐ์ฒด ์์ฑ์ ์ค์ผ ์ ์์๋ค.
์์ผ๋ก์ ๊ณผ์ ์งํ์ ์ํด ๊ธฐ์กด์ Blog
๋ก ํต์ผํ์ฌ ์ฌ์ฉํ๋ entity์ ์ด๋ฆ์ Post
๋ก ๋ณ๊ฒฝํด์ฃผ์๋ค. (์ ์ฉ์ Spring-CRUD-Lv2๋ถํฐ) entity์ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋จ์ ๋ฐ๋ผ ๋ค๋ฅธ class๋ค์ ์ด๋ฆ๋ ๋ณ๊ฒฝํด์ฃผ์๋ค.
- BlogController โ PostController
- BlogService โ PostService
- BlogRepository โ PostRepository
- BlogRequestDto โ PostRequestDto
- BlogResponseDto โ PostResponseDto
ํ์๊ฐ์
๋ฐ ๋ก๊ทธ์ธ์ ์ฌ์ฉํ entity์ ์ด๋ฆ์ users
์ด๊ณ , ์ด์ ๋ฐ๋ผ api ๋ช
์ธ๋ ๋ฐ๋ ๊ฒ์ด๋ผ ์์ํ๋ค.