ํ๋ก์ ํธ๊ฐ ๋๋๊ณ ์ด๋ค ์์ผ๋ก ํ์๋์ง ์ ๋ฆฌํ๋ ๊ธ์ ํฌ์คํ ํ๊ธฐ๋ก ๋ง์๋จน์..ํฌํธํด๋ฆฌ์ค ์ฉ๋๋ก ์์ฑํด์ผ์ง ๋ง๋ง ๋จน๋ค๊ฐ ๋ค ์์ฑํ๊ณ ์ผ์ฃผ์ผ์ด ์ง๋์์ผ ํ๊ฒ ๋์๋ค.ํ๋ก์ ํธ ๊ธฐ๊ฐ : 2023/06/26 ~ 2023/08/23ํ๋ก์ ํธ ๋ชฉ์ : UMC (ํ๋ก์ ํธ ๊ฐ๋ฐ ๋ฐ ์คํฐ
์์ด๋์ด/์๊ตฌ์ฌํญ ์ ์, ์์ด์ดํ๋ ์, ERD
๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ๊ณผ ์๋ฒ/ ํ๋ก์ ํธ ์ค์ ํ์ผ
23.07.06EC2 ์ธ์คํด์ค์ Git Hub์์ SSH ํค๋ฅผ ์ด์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ๋ฐฐํฌ ์๋ฃํ์๋ค.EC2 ์ธ์คํด์ค์ ํ๋ก์ ํธ ๋ฐฐํฌ 1EC2 ์ธ์คํด์ค์ ํ๋ก์ ํธ ๋ฐฐํฌ 2๋ฐฐํฌ ์๋ฃํ๊ณ ๋ก์ปฌ์ด ์๋ ๋๋ฉ์ธ์ ์ด์ฉํด์ API ํ ์คํธ๋ ์๋ฃํ์๋ค.๋ฐฐํฌํ๊ณ ์ ๋๋์ถ์๋๋ฐ ํ๋ก ํธ
ํ์๊ฐ์ , ๋ณธ์ธ์ธ์ฆ, ๋ก๊ทธ์ธ์์ด๋ ์ค๋ณต ํ์ธ, ์์ด๋ ์ฐพ๊ธฐ, ๋น๋ฐ๋ฒํธ ์ฌ์ค์ ์์ ๊ฐ์ ์ ํ์ํ ๊ฐ ์ ๋ณด๋ค๊ณผ, ํ๋งค์๊ฐ ์๋น์ค๋ฅผ ์ด์ฉํ ๋ ํ์ํ ๊ฐ๊ฒ์ ๋ํ ์ ๋ณด๋ก ํ ์ด๋ธ์ ๊ตฌ์ฑํ์๋ค.ํ๋งค์ ์ฝ๊ด ๋์ (์ฝ๊ด์ ๋ํ ์๋ด ์ถ๋ ฅ์ ํ๋ก ํธ์์ ์ฒ๋ฆฌ)๊ฐ์ธ์ ๋ณด ์ ๋ ฅ, S
์๋๋ IamPort๋ผ๋ ๊ฒฐ์ ๋ํ์ฌ์ API๋ฅผ ์ด์ฉํ์ฌ ๋ณธ์ธ์ธ์ฆ์ PASS๋ฑ์ผ๋ก ํ๋ ค๊ณ ํ์ผ๋.. ๊ฐ์ธ์ ๋ณด๋ฅผ ๋ค๋ฃจ๋ API์ด๊ธฐ ๋๋ฌธ์ ์ฌ์ ์ ๋ฑ๋ก์ฆ์ ํตํด์ ํด๋น ํ์ฌ์ ๊ณ์ฝ์ ํด์ผ API๊ฐ ์ฌ์ฉ๊ฐ๋ฅ ํ์๋ค.. ๊ทธ๋์ ์๊ฐํ ๋ฐฉ๋ฒ์ ํ๋งค์์ ํธ๋ํฐ์ผ๋ก SMS ๋ฌธ์ ๋ฐ
๋ณธ์ธ์ธ์ฆ ํ ์ฌ์ฉ์๊ฐ ์ ํํ ์ฝ๊ด๋์, ์ด๋ฆ, ์๋ ์์ผ, ์ ํ๋ฒํธ, ์์ด๋, ๋น๋ฐ๋ฒํธ, ์ด๋ฉ์ผ์ ๋ชจ๋ Body์ ๋ด์ ์์ฒญํ ํ, ๊ฐ์ ์ด ์๋ฃ๋๋ฉด ๊ฐ์ ์ ๋ํ ์ ๋ณด๋ฅผ ๋ฐํํ๋๋ก ์ค๊ณํ์๋ค.ํ์ด์ง ๋ณ๋ก ๊ฐ์ ๋๊ธฐ๋ ๊ฒ์ด ์๋๋ผ, ํ๋ฉด ์ ํํ ๋ ๊ฐ์ ์ ์งํ์ฌ ๋ค์ ๋ทฐ๋ก
\--\--nurigo sdk ์์ ์ ๊ณตํ๋ SMS API ์๋น์ค๋ฅผ ์ด์ฉํด ๋ณธ์ธ์ธ์ฆ์ ๊ตฌํํ๊ธฐ๋ก ํ์๋ค.\-> SMS ๋ฌธ์ ์ธ์ฆ ํฌ์คํ ์๋๋ PortOne์์ ์ ๊ณตํ๋ PASS ๋ฅผ ํตํด์ ๋ณธ์ธ์ธ์ฆ์ ํ๋ ค๊ณ ํ์ผ๋, ์ฌ์ ์ ๋ฑ๋ก์ฆ์ด ํ์ํด์ ์คํจ..์์ด๋ ์ฐพ๊ธฐ๋ ์ด๋ฆ,
์์ ํฌ์คํ ํ๋ ํ๋งค์ ํ์๊ด๋ จ API๋ฅผ ์ ๋ฆฌํ๋ฉฐ, ํ ์คํธ๋ฅผ ์งํํ๋๋ก ํ๊ฒ ๋ค.ํ์ ๊ฐ์ ์ ์ฝ๊ด ๋์SMS๋ฅผ ํตํ ๋ณธ์ธ์ธ์ฆ๋ณธ์ธ์ธ์ฆ ์๋ฃ ํ ํ์ ์ ๋ณด ์ ๋ ฅ (์์ด๋, ๋น๋ฐ๋ฒํธ, ์ด๋ฉ์ผ)ํ์๊ฐ์ ์์ฒญ ํ ๊ฐ์ ์๋ฃ ํ์ธํ์๊ฐ์ ํ๊ธฐ์ SMS๋ฅผ ํตํด ๋ณธ์ธ์ธ์ฆ์ ํ ์ ์๋
23.07.07javax.annotation.meta.When ์๋ฌhttps://simple-ing.tistory.com/48security.txthttps://okky.kr/questions/1217780
ํ์ ๋ผ๋ฆฌ ์ฃผ๊ณ ๋ฐ์๋ค ์นดํก ๋ด์ฉ๋ค์ด๋ค.API ๋ช ์ธ์ ์์ฑ ๋ฐ ์๋ฒ ์ ์ฉ ํ ํ๋ก ํธ ํ๋ค์ด ๋ทฐ์ API๋ฅผ ์ฐ๋ํ๋ฉด์ ๋ฐ์ํ๋ ๋ฌธ์ ์ ์ด๋,๊ฐ์ ๋ก์ง์ ์ข ๋ ํจ์จ์ ์ผ๋ก ๊ตฌํํ๊ธฐ ์ํด์ ์ด๋ป๊ฒ ํด์ผํ ์ง ์์๋ฅผ ๋ง์ดํ์๋ค.๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋๋ ์ค์๊ฐ์ผ๋ก ๋์ค์ฝ๋๋ก ์ํต๋
๊ฐ๊ฒ ์ด๋ฆ ์ค๋ณต ํ์ธ๊ฐ๊ฒ ๋ฑ๋ก ์ ์ฒญ, ๊ฐ๊ฒ ์ ๋ณด ์กฐํ, ๊ฐ๊ฒ ์ ๋ณด ์์ ์์ ์ข ๋ฃํ๋งค์์ ๊ฐ๊ฒ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๊ณ , ๊ด๋ฆฌ์๊ฐ ์น์ธ ์๋ฝ์ ํ๋ฉด ๊ฐ๊ฒ ๋ฑ๋ก์ด ์๋ฃ๋๋ค!์์ ๊ฐ ๊ฐ๊ฒ์ ๋ํ ์ฃผ์๋ฅผ ๋ํ๋ด๊ธฐ ์ํ ๊ฒฝ/์๋ ์ขํ ๊ฐ์ ์ถ๊ฐํ์ฌ ๊ฐ๊ฒ์ ๋ํ ์ ๋ณด๋ฅผ ๋ค๋ฃฐ ์ ์
https://velog.io/@99_insung/iamport-%EB%B9%8C%EB%A7%81%ED%82%A4ํ๋๋(๊ธฐํ์) ํ์ค์ดํ์ด ์ฌ์ฉ์๊ฐ ๋งค๋ฒ ์ธ์ฆํ๋ฉด์ ๊ฒฐ์ ๋ฅผ ํ๋ ๋ฐฉ๋ฒ ๋ณด๋ค, ๋ฐฐ๋ฏผํ์ด์ฒ๋ผ ๊ฒฐ์ ์ ๋ณด๋ฅผ ๋ฑ๋กํด์ ํธํ๊ฒ ๊ฒฐ์ ๊ธฐ๋ฅ์ ์์ฑ์ํค๊ณ ์ถ๋ค๊ณ ํด
ํ๋ก ํธ ์๋ ํ์ ์ผ์(๋์) ์น๊ตฌ์๊ฒ ๊ฐ๊ฒ๋ฑ๋ก์ ๋ค ํ๋ค๊ณ ๋ช ์ธ์์ ์๋ ค์คฌ๋๋ฐ, ์ด๋ฏธ์ง ๊ด๋ จํด์ ์๋ก ํ์๋ฅผ ๋ณด๊ฒ๋์๋ค.๋๋ ์ด๋ฏธ์ง URL์ ํ๋ก ํธ์์ ์ฒ๋ฆฌํด์ ์๋ฒ๋ก ํด๋น URL๋ง ๋๊ฒจ์ฃผ๋ ์ค ๋จ์ํ๊ฒ ์๊ฐํ์๋ค..๊ทธ๊ฒ ์๋๋ผ ์ด๋ฏธ์ง๋ฅผ ํ๋ก ํธ์์ ๋ณด๋ด๋ฉด ์๋ฒ์์ ํด
ํ๋ฉด์ ์ง์ ๋ช ๋ฐ ์นธ ์์ ์ค๋ณตํ์ธ ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋ฒ์ API ์์ฒญ์๋ต ๋ฐ๋ StoreNameDupRes.javaStoresController.java๊ฐ๊ฒ์ด๋ฆ์ queryParam์ผ๋ก ๋๊ฒจ๋ฐ๋๋ค.StoresService.javaStoreDao.javaํ๋งค์๊ฐ ๊ฐ๊ฒ๋ฅผ
๋ฉ์ธ/์ฌ์ด๋/ ์์ฐ์ง ๋ฑ๋ก๋ฉ๋ด ์์ ์์ฐ์ง๋ ์ํ ํ๋งค์ ์ ๊ฐ์ฅ ๊ทผ๋ณธ ์์์ด๊ณ , ๋ฒ๋ ์๊ธฐ ๋๋ฌธ์ ์๋น์ค์ ์ถ๊ฐํ๊ฒ ๋์๋ค.๋ฉ๋ด, ์์ฐ์ง ๋ฑ๋ก์ ํ๋งค์๊ฐ ๊ฐ๊ฒ ์ ์ฒญ์ ํ๊ณ ๋ ๋ค์ ๊ด๋ฆฌ์ ์น์ธ์ด ์ด๋ค์ง๊ณ ๋์ ์ด์ฉํ ์ ์๋ ์๋น์ค. ์ฆ ๊ฐ๊ฒ ๋ฑ๋ก์ด ์๋ฃ๋ ํ๋งค์๋ง ๋ฉ๋ด๋ฅผ
๋ฉ๋ด์ ์ด๋ฏธ์ง๋ ๋ฑ๋กํด๋๋๊ณ ์ํด๋๋จ.์ด๋ฏธ์ง ์ ๋ณด๋ฅผ ์๋ฒ์์ ์ ์งํ๊ธฐ ์ํด AWS S3 ์๋น์ค๋ฅผ ์ด์ฉ.์น ์ ํ๋ฆฌ์ผ์ด์ ์์ AWS S3 ์ ๊ทผ ์ธ๊ฐ๋ AWS IAM ๊ณ์ ์ ์ก์ธ์คํค ํ์ฉ(1) ๋ก์ง ํ๋ก์ฐ1\. ๋ฉ๋ด ์ ๋ณด๋ฅผ Post๋ก ์์ฒญ๋ฐ์.2\. ์ฌ์ฉ์๊ฐ ์ด๋ฏธ ๋ฉ๋ด๋ฅผ ๋ฑ
์ผ์(ํ๋์) ์น๊ตฌ๊ฐ ๋ฉ๋ด API ํ ์คํธ๋ฅผ ํ๋ค๊ฐ ์๋ฌ๊ฐ ๋ฌ๋ค๊ณ ํ๋ค.์์ธ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ ์๋๋ฐ ์ค์ ๋ก ํ์ธํด๋ณด๋ ๋ฌธ์ ๊ฐ ๋ง์๋ค.์๋ฒ ๋ก๊ทธ์์๋ 413 Request Entity Too Large ์ค๋ฅ๊ฐ ์ฐํ๊ณ , ํด๋ผ์ด์ธํธ-์๋ฒ๋ก ์์ฒญ ์์ ๋์ด์ค๋ ๋ฐ๋ ๊ฐ์ ํฌ๊ธฐ๊ฐ
s3 ํ์ผmultipart ์ฉ๋์ด์?https://velog.io/@jinho_pca/Spring-Boot-%ED%8C%8C%EC%9D%BC-%EC%97%85%EB%A1%9C%EB%93%9C-%EC%9A%A9%EB%9F%89%EC%A0%9C%ED%95%9C-%
๋จ์ด ๋ฉ๋ด ์กฐํ๋จ์ด ๋ฉ๋ด ๋ฑ๋ก/์์ ๊ฐ๊ฒ์์ ํ๋งคํ๋ ๋จ์ด๋ฉ๋ด๋ฅผ ๊ตฌ๋งค์์ ์ ๊ณตํ ์ ์๋๋ก ์ค๋นํ๊ณ , ํ๋งค์๊ฐ ์ํ ๋ ํ ์ธ์จ๊ณผ ์๋์ ์์ ์ด ๊ฐ๋ฅํ๋๋ก ํ ์ด๋ธ์ ๊ตฌ์ฑํ์๋ค.๋จ์ด ๋ฉ๋ด ํ์ธ (๋ฑ๋ก ์ ํ์ ์, ์ต์ด์๋ ๋ชจ๋ 0์ธ๊ฐ์ ๊ฐ์ง)๋ฑ๋ก ์ ์๋ฒ์ ์ ์ฅ๋ ํ๋งค์์
๋จ์ด ๋ฉ๋ด๋ฅผ ์ต์ด ๋ฑ๋ก ํ๊ธฐ ์ ์๋ ์ฌ์ฉ์๊ฐ ์๋น์ค ์์ ์ ์ ๋ฑ๋กํ๋ ๋ฉ๋ด๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ์ธ์จ๊ณผ ์๋์ด 0์ผ๋ก ์ด๊ธฐํ ๋์ด์ ์กฐํ์ ์๋ตํ๋ค.๋จ์ด ๋ฉ๋ด ๋ฑ๋ก ํ์๋ DB์ ๋ฑ๋ก๋ ๋จ์ด ๋ฉ๋ด ํ ์ด๋ธ๊ณผ ๊ธฐ๋ณธ ๋ฉ๋ด ํ ์ด๋ธ์ Join ํ์ฌ, ๊ฒฐ๊ณผ๊ฐ์ด NULL์ด ์๋ ๊ฒฝ์ฐ์ ํ
์ฃผ๋ฌธ ์ ์ ๋ชฉ๋ก ์กฐํ, ์ฃผ๋ฌธ ์ ์/์ทจ์ ํ๊ธฐ์ฃผ๋ฌธํ ์ธ์, ์์์ฆ ์ธ์์ฃผ๋ฌธ ์ฒ๋ฆฌ ๋ชฉ๋ก ์กฐํ, ํฝ์ ์๋ฃ์ฃผ๋ฌธ ์๋ฃ ๋ชฉ๋ก ์กฐํ2-1) ์ฃผ๋ฌธ ํ ์ด๋ธ ์ ๋ณด2-2) ์ฃผ๋ฌธ ๋ฉ๋ด ๋ฆฌ์คํธ ํ ์ด๋ธ ์ ๋ณดํ๋งค์๋ ๊ตฌ๋งค์์ ์ฃผ๋ฌธ ์์ฒญ์ ํ์ธํ ์ ์๋ค. ํ๋งค์๊ฐ ์์ฒญ์ ์ ์ํ๊ฒ๋๋ฉด,ํ๋งค์๊ฐ
์ฃผ๋ฌธ ์ ์ ๋๊ธฐ, ์ฒ๋ฆฌ ์ค, ์๋ฃ ํญ๋ชฉ ๋ค์ ๋ชจ๋ ๋๊ฐ์ ๋ก์ง์ผ๋ก ๊ตฌํํ์๋ค.์ฐจ๋ณ์ ์ด ์๋ค๋ฉด, ์ฃผ๋ฌธ ์ ์ ํ์๋ ์ฃผ๋ฌธ ๋ฒํธ๊ฐ ํ ๋น ๋๋ค๋ ๊ฒ.ํ์ฌ ๊ตฌ๋งค์๊ฐ ์์ผ๋ฏ๋ก ๋๋ฏธ๋ฐ์ดํฐ๋ฅผ DB์ ๋ฐ์ํ์ง ์์ ์ํ๋ผ์ ์ฝ๋ ๊ตฌํ๋ง ์ค๋ช ํ๋๋ก ํ๊ฒ ๋ค.์๋ต ๋ฐ๋์ ๋ค๋ฆญ์ผ๋ก ๊ฐ์ ์ค์ ํด
๋จ์ ์ฌ์ฉ์๊ฐ ์ฃผ๋ฌธ ์์ฒญ์ ํ๊ณ ๊ฒฐ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ด ์๋๋ผ, ํ๋งค์๊ฐ ์ฃผ๋ฌธ ์ ์๋ฅผ ํด์ผ ๊ฒฐ์ ๊ฐ ๊ฐ๋ฅํ๋๋ก ๋ก์ง์ ๊ตฌํํ๊ธฐ๋ก ํ์๋ค.๊ตฌ๋งค ๊ด๋ จ ํฌ์คํ ..์์ฒญ ๋ฐ๋์กฐํ์์ ๋ฏธ๋ฆฌ ์๋ต์ ํฌํจํ๋ orderIdx ๋ฅผ ํ๋ก ํธ์์ ์ ์งํ์ฌ, ์ ์/ ์ทจ์๋ฅผ ํ๋ ์ฃผ๋ฌธ์ ๋ํ ์๋ณ
์ด ๋ฆฌ๋ทฐ ํ์ , ๋ฆฌ๋ทฐ ํ์ธ๋ฆฌ๋ทฐ ๋ต๊ธ/์์ /์ญ์ , ๋ฆฌ๋ทฐ ์ ๊ณ 2-1) ๋ฆฌ๋ทฐ ํ ์ด๋ธ ์ ๋ณด๋ฆฌ๋ทฐ๋ฅผ ํตํด ๋ด ๊ฐ๊ฒ์ ๋ฆฌ๋ทฐ ํ์ , ๋ฆฌ๋ทฐ ๋ชฉ๋ก๋ค์ ๊ฐ๊ฐ ํ์ธ ๊ฐ๋ฅํ๋๋ก ํ๋ค.๋ฌ๋ฆฐ ๋ฆฌ๋ทฐ ๋ชฉ๋ก ์ค์ ์ฌ์ฅ๋์ด ๋ต๊ธ์ ์ง์ ์์ฑํ ์๋ ์๋ค.๋ถ์ ์ ์ธ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๊ด๋ฆฌ์๊ฐ ์ญ์ ํ ์
๋ฆฌ๋ทฐ ๋๋ฉ์ธ ๊ธฐ๋ฅ ์ ์ ํฌ์คํ ๋ฆฌ๋ทฐ ํ๋ฉด ๊ตฌ๋งค์ ๋๋ฉ์ธ์ ๊ธฐ๋ฅ์ด ๋ฐ์ํ๋ฉด ํ ์คํธ๋ฅผ ์๋ํ๋๋ก ํ๊ฒ ๋ค.. 1. [GET] /jat/review/average ๊ฐ๊ฒ์ ๋ฆฌ๋ทฐ ํ์ > - ๊ตฌ๋งค์๊ฐ ์ฃผ๋ฌธ์ ๋ํ ๋ฆฌ๋ทฐ๋ฅผ ๋จ๊ธธ ๋, ๋ฆฌ๋ทฐ์ ํ์ ๋ ๊ฐ์ด DB์ ์ ์ฅ๋๋๋ก ํ์
์ค๋ ๋งค์ถ๊ธ์ก์ด์ ์ค๋ ์๊ฐ๋๋ณ ๋งค์ถ๊ธ์ก์์ผ ๋ณ ๋งค์ถ๊ธ์ก์๊ฐ ๋ฉ๋ด๋ณ ํ๋งค๋์๊ฐ ๋ฉ๋ด๋ณ ์ฃผ๋ฌธ๋์ฃผ๋ฌธ ์ ๋ณด ํ ์ด๋ธ์ ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋ ์ฃผ๋ฌธ์ ๊ธฐ๋ฐ์ผ๋ก ๋งค์ถ์ ์ ์ฐํ์๋ค.์ฃผ๋ฌธ ๋๋ฉ์ธ ํฌ์คํ ์ด์ ์ค๋ ์๊ฐ๋๋ณ ๋งค์ถ๊ธ์ก์์ผ ๋ณ ๋งค์ถ๊ธ์ก์๊ฐ ๋ฉ๋ด๋ณ ํ๋งค๋์๊ฐ ๋ฉ๋ด๋ณ ์ฃผ๋ฌธ๋๊ฐ ๊ธฐ์ค์ ๋ฐ
๋ชจ๋ ๋งค์ถ ์กฐํ ๊ธฐ์ค์, DB์ ์ ์ฅ๋ TimeStamp ๊ธฐ์ค์ผ๋ก ์งํ๋์๋ค.์ค๋ ๋ ์ง์์ ๊ฐ ๊ฐ๊ฒ์ ์๊ฐ๋ณ ๋งค์ถ์ ์ง๊ณํ์ฌ ์๋ต์ ํฌํจํ์๊ณ ,ํ๋ก ํธ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๊ทธ๋ํ ํ๊ธฐ๋ฅผ ์งํํ์๋ค.DB์ฐ๊ด๊ด๊ณ๋ ์ฃผ๋ฌธ ํ ์ด๋ธ์์ ๊ฐ๊ฒ Idx๋ฅผ ์ด์ฉํ์ฌ ๋ ์ง ๋ฒ์ ๋ด์
0. ๊ธฐ๋ฅ ์ ์ > 2-1) ํ์์ > - ํ์๊ฐ์ , ๋ณธ์ธ์ธ์ฆ, ๋ก๊ทธ์ธ ์์ด๋ ์ค๋ณต ํ์ธ, ์์ด๋ ์ฐพ๊ธฐ, ๋น๋ฐ๋ฒํธ ์ฌ์ค์ ๋ก๊ทธ์์, ํ์ ํํด, ํ์์ ๋ณด ์์ ํ์์ ์ ๊ด๋ จ๋ ๋ก์ง์ ํ๋งค์์ ๊ฑฐ์ ๋น์ทํ๋ฏ๋ก ์๋ตํ๊ฒ ๋ค. 1. ๊ตฌ๋งค์ ํ์ ๊ด๋ จ ํ๋ฉด 2. ๋๋ฉ์ธ ์
์์น์ ๋ณด๋ ์ง๋ ๋ด์์ ๋ฒ์์์ ์กด์ฌํ๋ ๊ฐ๊ฒ๋ฅผ ์กฐํํ๊ธฐ์ํด ๋์ค์ ์ฐ์ธ๋ค.ํ๋ก ํธ์์ ์๋ฒ๋ก ์์น์ ๋ณด๋ฅผ ์ ์กํ๋ ๋ฐฉ๋ฒ์ ๋๊ฐ์ง์ํ๋ ์์น์ ์ฃผ์๋ฅผ ๋ณด๋ด๊ธฐ (๋๋ก๋ช /์ง๋ฒ ์๊ด X)ํ์ฌ ์ขํ ์์น๋ฅผ ๋ณด๋ด๊ธฐ๋ ์ ๋ณด๋ฅผ Controller ์์ ํ์ธํ์ฌ ์์ฒญ์ ๋ง๋ ์ ๋ณด๋ฅผ ์ ๊ณต
์ขํ(๊ฒฝ/์๋) ์์น ์ค์ ๊ฐ๊ฒ ์กฐํ, ์ง๋ ๋ด ๊ฐ๊ฒ ๋ชฉ๋ก ํ์ธ, ๊ฐ๊ฒ ๊ตฌ๋ ์ ๋ณด์ง๋์์ ๊ฐ๊ฒ์ ์์น๋ฅผ ํ์ธํ๊ณ , ๊ฐ๊ฒ ๋ชฉ๋ก์ ํ์ธํ ์ ์์.๊ฐ๊ฒ ๋ด ์์ธ ์ ๋ณด ๋ฐ ํ๋งค์ ๋ณด๋ ๋ชจ๋ ์กฐํ๊ฐ๋ฅํ๋๋ก ๋๋ฉ์ธ์ ์ค๊ณํ์๋ค.๊ฐ๊ฒ(ํ๋งค์) ๋๋ฉ์ธ ํ ์ด๋ธ: ํฌ์คํ (https
๊ฐ๊ฒ ๋๋ฉ์ธ(๊ตฌ๋งค์) ๊ธฐ๋ฅ ์ ์ ํฌ์คํ ์ฑ ์์์ ๋ฉ์ธ ํ๋ฉด, ํ์ฌ ์ง๋์ ์ต๋ ์/๊ฒฝ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ธ.์๋ต ๋ฐ๋์ปจํธ๋กค๋ฌํ๋ก ํธ์์ ์ง๋ API๋ฅผ ์ฐ๋ํ๊ณ , ํด๋น ์ง๋ ํ๋ฉด์ ๊ธฐ์ค์ผ๋ก ์ต๋ ์/๊ฒฝ๋๋ฅผ ๊ฐ์ด ์์ฒญํ๋ค.์๋น์คDao์๋ต ๋ฐ๋์ปจํธ๋กค๋ฌ๊ฐ๊ฒ ์์ด์ฝ ๋ชฉ๋ก์ ์๋ต์ผ๋ก
๊ฐ๊ฒ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ, ํด๋น ๊ฐ๊ฒ ๋ด์ ์์ธ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ค,.๊ฐ๊ฒ ๊ธฐ๋ณธ์ ๋ณด : ๊ฐ๊ฒ ์ด๋ฆ, ํ์ , ๊ตฌ๋ ์, ์ฃผ์, ๊ฑฐ๋ฆฌ ๋ฐ ์๊ฐ์์ธ ์ ๋ณด ์ข ๋ฅ 3๊ฐ์ง:์ค๋์ ๋จ์ด ๋ฉ๋ด : ํ๋งค์๊ฐ ๋ฑ๋กํ ๋จ์ด ๋ฉ๋ด ๋ชฉ๋ก (๋ฉ์ธ/์ฌ์ด๋)๊ฐ๊ฒ ์ ๋ณด : ํ๋งค์ ๊ฐ๊ฒ์ ์ ๋ณด๋ค
๋ฉ๋ด ๋ชฉ๋ก์์ ๋ฉ๋ด ํด๋ฆญ์ ํด๋น ๋ฉ๋ด์ ์์ธ ์ ๋ณด๋ฅผ ํ์ธํ๋ค.์ฅ๋ฐ๊ตฌ๋ ๋ด๊ธฐ ์ ํ๋ฉด! ์๋ต ๋ฐ๋๋ฉ๋ด ์ ๋ณด์ +๊ตฌ์ฑ ์ด ์ถ๊ฐ ๋์๋ค.๋ฉ๋ด ์ด๋ฆ, ํด๋น ๋จ์ด๋ฉ๋ด Idx, ๋จ์ ๊ฐ์, ๊ตฌ์ฑ, ์ค๋ช , ์๊ฐ, ํ ์ธ๋น์จ, ํ ์ธ ๊ฐ๊ฒฉ์ปจํธ๋กค๋ฌ์๋น์คDao๋ฉ๋ด ์กฐํ๋ฅผ ํตํด์ ๋จ์ด ๋ฉ๋ด
์ฅ๋ฐ๊ตฌ๋ ๋ด๊ธฐ/์ฃผ๋ฌธํ๊ธฐ๊ฐ๊ฒ์ ์กด์ฌํ๋ ๋จ์ด๋ฉ๋ด๋ฅผ ์ฅ๋ฐ๊ตฌ๋์ ๋ด์์ ์ฃผ๋ฌธํ๊ธฐ ์ ๋จ๊ณ๊น์ง ๋ง๋๋ ๊ธฐ๋ฅ์ฅ๋ฐ๊ตฌ๋์ ๋ด์ ๋ชฉ๋ก์ DB์์ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ด๋จ๊น ํ๊ณ ํ ์ด๋ธ ์์ฑ.๋ชจ๋ ์ฅ๋ฐ๊ตฌ๋์๋ ๊ฐ์ ๊ฐ๊ฒ์ ๋ฉ๋ด๋ง ํฌํจํ๋๋ก ํ ๋ ค๊ณ ๊ฐ๊ฒ Idx๋ฅผ ๊ฑธ์ด์คฌ๋ค.๋๊ฐ ์ด๋ค ๋ฉ๋ด๋ฅผ ์ฅ
๋ฐฐ๋ฌ์ ๋ฏผ์กฑ์ ๋ณด๋ฉด ์ฅ๋ฐ๊ตฌ๋์๋ ๋ฐ๋์ ๊ฐ์ ๊ฐ๊ฒ์ ๋ฉ๋ด๋ง ๋ด์ ์ ์๋ค๊ณ ๋ฌ๋ค.๊ทธ๋์ ๋๊ฐ์ด ๋ฉ๋ด๋ฅผ ์ฅ๋ฐ๊ตฌ๋์ ๋ด์ ๋, ํ์ฌ ๊ตฌ๋งค์์ ์ฅ๋ฐ๊ตฌ๋ ์ํ๋ฅผ ํ์ธํ๊ณ ๊ฐ์ ๊ฐ๊ฒ์ ๋ฉ๋ด๋ง ๋ด์ ์ ์๋๋ก ํ์ธ์ ํ๊ธฐ๋ก ํจ.์์ฒญ๋ฐ๋: storeIdx (๊ฐ๊ฒ Idx) -> ๋จ์ด
์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ธด ๋ฉ๋ด๋ฅผ ์ฃผ๋ฌธํ์ง ์์๋ ๊ตฌ๋งค์๊ฐ ์์๋ก ์์ ํ ์ ์์ด์ผํ๋ค๊ณ ์๊ฐํด์ ๋ก์ง์ ๊ตฌํํ๊ฒ ๋์๋ค.์์ฒญ ๋ฐ๋์๋ต๋ฐ๋: GET ์ฅ๋ฐ๊ตฌ๋ ์กฐํ์ ๊ฐ์์ปจํธ๋กค๋ฌ์๋น์ค๋ฉ๋ด๋ฅผ ์์ /์ญ์ ํ๋ ๋๊ฐ์ง ์ํ๊ฐ์ ๊ตฌ๋ณํ๊ธฐ ์ํด ํ๋ก ํธ์ ํ์๋ฅผ ํ์๋ค.๊ฐ์ ์กฐ์ ์ patch
์๊ธ๋นต์ ๋ค์ ์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ณ ์ฃผ๋ฌธ ํ ์ค๋น๋ฅผ ํด๋ณด๊ฒ ๋ค.์ฃผ๋ฌธ ํ๋ฉด์์ ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ ์ฌ์ฉ์์๊ฒ ์ฌ์ ์ผ๋ก ๋ณด์ฌ์ฃผ๊ธฐ ์ํ ๋ก์ง์ ๊ตฌํํ์๋ค.์ฃผ๋ฌธ ํ๋ฉด์ ๋ณด์ด๋ ์ ๋ณด๋ : ์ฃผ๋ฌธํ ๊ฐ๊ฒ, ๊ฐ๊ฒ์ ์ฃผ์, ๋ด ๋ฒํธ, ์ฃผ๋ฌธ ์ด ๊ธ์ก, + ๋ณธ์ธ์ ๊ฒฐ์ ์ ๋ณด ๋ฑ์ ๋์ ์ค ์์๋ค.๋๋จธ์ง
๊ตฌ๋งค์๋ ๊ตฌ๋งค๊ฐ ์๋ฃ๋ ์ฃผ๋ฌธ์ ๊ธฐ์ค์ผ๋ก ๋ณธ์ธ์ ์ง๋ ์ฃผ๋ฌธ ๋ด์ญ์ ํ์ธํ ์ ์๋ค.ํด๋น ์ฃผ๋ฌธ์ ์ด๋ป๊ฒ ์ด์ฉํ์๋์ง ์์ธ ๊ธฐ๋ก๋ ํ์ธํ๋ค.์ฃผ๋ฌธ ๋ด์ญ์ ๋ณธ์ธ์ด ์ญ์ ํด๋, ํ๋งค์์ ๋งค์ถ์๋ ์ํฅ์ ์ฃผ๋ฉด ์๋๊ธฐ ๋๋ฌธ์ ์ํ๊ฐ์ ์ถ๊ฐํ์์.
ํ๋งค์๊ฐ "ํฝ์ ์๋ฃ" ์ํ๋ก ๋ถ๋ฅํ ์ฃผ๋ฌธ์ ์ฃผ๋ฌธ๋ด์ญํ๋ฉด์์ ์กฐํ๊ฐ๋ฅํ๋๋ก ๊ตฌํํ์๋ค.์๋ต ๋ฐ๋์ฃผ๋ฌธ ๋ด์ญ ์กฐํ ํ๋ฉด์์ ํ์ํ ์ ๋ณด๋ ์ฃผ๋ฌธ๋ ์ง, ์ฃผ๋ฌธ ํ๊ฐ๊ฒ, ์ฃผ๋ฌธ ๋ด์ฉ, ์ฃผ๋ฌธ ๊ธ์ก, ๋ฆฌ๋ทฐ ์์ฑ ์ฌ๋ถ ๋ฑ์ด ํฌํจ๋๋ค.์ปจํธ๋กค๋ฌ์๋น์ค์ฃผ๋ฌธ ๋ด์ญ์ ์์ผ์ด ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์,
๊ตฌ๋งค์๋ ์ฃผ๋ฌธ๋ด์ญ ํ๋ฉด์์ ์๋ฃ๋ ์ฃผ๋ฌธ์ ๋ํด์ ๋ฆฌ๋ทฐ๋ฅผ ์์ฑ ๊ฐ๋ฅํ๋ค.๋ฆฌ๋ทฐ ๋ด์ฉ์ผ๋ก๋ ์ฌ์ง, ๋ณ์ , ๋ฆฌ๋ทฐ ๊ธ์ ์์ฑ ๊ฐ๋ฅํ๋๋ก ๊ตฌํํ์๋ค.๋ณธ์ธ์ด ์์ฑํ ๋ฆฌ๋ทฐ๋ ๋ค์ ์กฐํ ๊ฐ๋ฅํ๋๋ก ํจ !
๊ฒ์ํ๋ฉด์ ๋์ธ ๊ฒ์๊ธฐ๋ก, ์ธ๊ธฐ ๊ฒ์์ด ์กฐํ๊ฒ์ํ์ฌ ๊ฒ์์ด์ ์ฐ๊ด๋ ๊ฐ๊ฒ(์นดํ ๊ณ ๋ฆฌ, ๊ฐ๊ฒ ์ด๋ฆ) ์กฐํํ๊ธฐjatdauree/src/main/java/com/umc/jatduaree/src/domain/app/search์ ๋ก๋์ค..
๋จ์ด๊ฐ ์นดํ ๊ณ ๋ฆฌ์ ํฌํจ๋์ด์๊ฑฐ๋, ๊ฐ๊ฒ์ ์ด๋ฆ์ ํฌํจ๋์ด ์๋ ๋ชฉ๋ก์ ์กฐํ์์ฒญ ๋ฐ๋๊ฒ์๋จ์ด + ์์น ์ขํ(๋ชฉ๋ก์ ๊ฐ๊ฒ๊น์ง ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๊ธฐ์ํด)์๋ต ๋ฐ๋๊ฐ๊ฒ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ ๋์๋ ์ ๋ณด๋ค๊ณผ ๋์ผํ๋ค.์ปจํธ๋กค๋ฌ์๋น์ค๊ฒ์์ด์ ์ฐ๊ด๋ ๊ฐ๊ฒ ๋ชฉ๋ก์ ๊ฐ์ ธ์จ๋ค.ํด๋น ๊ฐ๊ฒ์ ์ฌ์ง ์ ๋ณด์ ๋ํ
์ฑ ๋ด์์ ์กด์ฌํ๋ ๋ชจ๋ ํํธ ๋ชจ์์ ๋๋ฅผ ์ ๊ตฌ๋ , ๊ตฌ๋ ์ทจ์ํ๊ธฐ์์ฒญ ๋ฐ๋๊ตฌ๋ ํ ๊ฐ๊ฒ Idx, ๊ตฌ๋ /์ทจ์ ์ฌ๋ถ์ปจํธ๋กค๋ฌ์๋น์ค๊ฐ๊ฒ๋ฅผ ๊ตฌ๋ ํ๊ธฐ ์ , ์ฌ๋ฐ๋ฅธ ๊ฐ๊ฒ Idx๋ฅผ ๊ฐ์ง ์์ฒญ์ธ์ง ํ์ธํด๋น ๊ตฌ๋งค์๊ฐ ์ด์ ์ ๊ฐ๊ฒ๋ฅผ ๊ตฌ๋ ํ๋ค ์ทจ์ํ ๊ธฐ๋ก์ด ์๋์ง ํ์ธ\-> ์ด๋ฏธ ์ทจ์ํ๋
์ฝ ํ๋ฌ ๋ฐ ๋์์ ํ๋ก์ ํธ ๊ธฐ๋ก ์์ฑ ๋..!์ฐ๋ฆฌ ํ์๋ค:ํ๋ฌ ๋ฐ ์ด๋ผ๋ ์๊ฐ๋์ ์๋ฒํํธ ํ์ฅ์ผ๋ก์จ ๊ฝค ๋น ๋ฏํ ์ผ์ ์ด์๋ ๊ฒ ๊ฐ๋ค.ํ์๋ค์ API ์์ฐ๋ ฅ์ด ๋จ์ด์ง๋ ๊ฒ๋ ์ด์ ์คํฐ๋์์ ๊ฐํผ๋ฅผ ํ์คํ๊ฒ ์ก๊ณ ๋์ด ์์ด์ผํ๋๋ฐ, ๊ฐ๋ฐ ๊ธฐ๊ฐ ์ด๊ธฐ 2์ฃผ๋์ ๋ค์ ๊ฐํผ๋ฅผ
๊ฐ ์ฝ๊ด๋์๋ฅผ ์ ์ธํ๊ณ ๋ชจ๋ Entity ํํ๋ก ๋ณํ