๐ ์ด๋ฒ ์ฃผ์ฐจ์ ๋ชฉํ
- ๊ฐ๋ฐ ์์!
๊ฐ๋ฐ ์ 1, 2์ฃผ์ฐจ ํ์ ๋ ธ์ : - JPA๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ
- ๋ฑ๋ก ๊ธฐ๋ฅ, ์กฐํ ๊ธฐ๋ฅ API ์์ฑ ๋ฐ ํ์ธ
๐ Spring ๊ณ์ธต์ ๋ฐ๋ฅธ ํ์ผ ์ค๋ช
- Posts : ์ค์ DB์ ํ ์ด๋ธ๊ณผ ๋งค์นญ๋ Entity ์์ญ
- PostsRepository : DB์ ์ ๊ทผํ๋ ์์ญ
- PostsService : ํธ๋์ญ์ ๊ณผ ๋๋ฉ์ธ ๊ฐ์ ์์ ๋ณด์ฅ ์์ญ
- PostsApiController : API๋ฅผ ์์ฒญ๋ฐ๋ ์ปจํธ๋กค๋ฌ๋ก ์์ฒญ์ ๋ฐ๋ ์์ญ (๋ฑ๋ก, ์กฐํ API ์์ฑ)
- PostsResponseDto : ์กฐํ ๊ธฐ๋ฅ์ ์ํ Dto๋ก ๋ฐ์ดํฐ ๊ตํ, ๋ณ๊ฒฝ์ ์ํ ์์ญ
- PostsSaveRequestDto : ๋ฑ๋ก ๊ธฐ๋ฅ์ ์ํ Dto๋ก ๋ฐ์ดํฐ ๊ตํ, ๋ณ๊ฒฝ์ ์ํ ์์ญ
- Application : ๋ฉ์ธ ํด๋์ค๋ก ๋ด์ฅ WAS ์คํ
- PostsRepositoryTest : JPA ํ ์คํธ ์ฝ๋
- Web ์์ญ์ Controller์ ์ํด API ์์ฒญ์ ๋ฐ์
- DTO ์์ญ์ ํตํด Request ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ํ, Service ์์ญ์ Service๋ฅผ ํตํด ์ด๋ฅผ Repository ์์ญ์ ๋ณด๋ด์ค
- Repository ์์ญ์ DB์ ์ ๊ทผ
๐ JPA์ API ํ์ธ
- JPA : ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํด ๊ฒ์ฆ
// ํ
์ด๋ธ ๊ธฐ๋ณธํค (PK)
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// ํ
์ด๋ธ ์นผ๋ผ - ์ ๋ชฉ
@Column(length = 500, nullable = false)
private String title;
// ํ
์ด๋ธ ์นผ๋ผ - ์ค๋ช
@Column(columnDefinition = "TEXT", nullable = false)
private String description;
// ํ
์ด๋ธ ์นผ๋ผ - ์ํ ์์ธ ๋งํฌ
@Column(length = 500, nullable = false)
private String link;
// ํ
์ด๋ธ ์นผ๋ผ - ์คํ ์ฑํ
๋ฐฉ
@Column(length = 500, nullable = false)
private String contact;
// ํ
์ด๋ธ ์นผ๋ผ - ๊ฐ๊ฒฉ
@Column(length = 100, nullable = false)
private String price;
// ํ
์ด๋ธ ์นผ๋ผ - ๊ณต๊ตฌ ๊ธฐ๊ฐ
@Column(length = 100, nullable = false)
private String date;
// ํ
์ด๋ธ ์นผ๋ผ - ์์ฑ์
private String author;
- ๋ฑ๋ก, ์กฐํ ๊ธฐ๋ฅ API : Postman๊ณผ ํฐ์บฃ์ ์คํํด ๊ฒ์ฆ
์์คํ์ผ GIT ์ฃผ์
'Community > GDSC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[211220-211227] WebApp Project 6์ฃผ์ฐจ (0) | 2021.12.24 |
---|---|
[211216-211220] WebApp Project 5์ฃผ์ฐจ (0) | 2021.12.18 |
[211108-211114] 2021 GDSC Spring Study - 6์ฃผ์ฐจ (0) | 2021.11.09 |
[211108/211115] Dev Talk w. Core Team (0) | 2021.11.08 |
[211101-211107] 2021 GDSC Spring Study - 5์ฃผ์ฐจ (0) | 2021.11.06 |