songining
ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ๋ฐฉ๋ฒ•
BACKEND/Spring 2022. 1. 7. 16:19

- ํ…Œ์ŠคํŠธ๋Š” ๋”ฐ๋กœ application.yml ์„ค์ •ํŒŒ์ผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹์Œ -๊ฐ ํ…Œ์ŠคํŠธ ํ•จ์ˆ˜์—๋Š” @Test ์–ด๋…ธํ…Œ์ด์…˜์„ ๋ถ™์ด๋ฉฐ ๋งŒ์•ฝ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์—๋Š” @Test(expected = IllegalStateException.class) ์™€ ๊ฐ™์ด ํ•ด๋‹น ์˜ˆ์™ธ์— ๋Œ€ํ•œ ์–ด๋…ธํ…Œ์ด์…˜์„ ๋งŒ๋“ค์–ด์ค€๋‹ค. - ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ํ‹€ ์˜ˆ์‹œ @RunWith(SpringRunner.class) @SpringBootTest @Transactional // ํ…Œ์ŠคํŠธ ๋๋‚ ๋•Œ ๋‹ค์‹œ rollback ํ•ด๋ฒ„๋ฆผ public class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test..

SpringBoot JPA ์ƒ์„ฑ์ž ์ฃผ์ž…
BACKEND/Spring 2022. 1. 7. 15:22

-์˜์กด๊ด€๊ณ„ ์ฃผ์ž…์˜ ๊ฒฝ์šฐ ์ƒ์„ฑ์ž ์ฃผ์ž…์„ ์ง€ํ–ฅ ํ›„์— ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์•ˆ์ „ํ•œ ๊ฐ์ฒด ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ. - ์ƒ์„ฑ์ž๊ฐ€ ํ•˜๋‚˜๋ฉด @Autowired ์ƒ๋žต ๊ฐ€๋Šฅ - ๋ณ€์ˆ˜์— final ๋ถ™์—ฌ์„œ ํ›„์— ์ˆ˜์ • ๋ถˆ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ - Repository์—์„œ ์‚ฌ์šฉํ•˜๋Š” EntityManager๋Š” @PersistenceContext๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜์ง€๋งŒ SpringBoot์—์„œ๋Š” @Autowired๋„ ๊ฐ€๋Šฅ - final์„ ๋ถ™์ธ ๋ณ€์ˆ˜๋ฅผ Lombok์˜ @RequiredArgsConstructor ๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ์ž ์ƒ์„ฑ/์ฃผ์ž…ํ•ด์ฃผ๋ฉด ์ผ๊ด€์„ฑ์žˆ๊ณ  ๊น”๋”ํ•˜๊ฒŒ ์ฝ”๋“œ ์ •๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ƒ์„ฑ์ž ์ฃผ์ž…์„ ์ ์šฉํ•œ Repository ์˜ˆ์‹œ) @Repository @RequiredArgsConstructor public class MemberReposi..

Entity ์„ค๊ณ„์‹œ ์ฃผ์˜ํ•  ์ 
BACKEND/Spring 2022. 1. 4. 23:48

1. ๊ฐ€๊ธ‰์ ์ด๋ฉด setter ์‚ฌ์šฉํ•˜์ง€ ๋ง์ž. - ๋ณ€๊ฒฝ ํฌ์ธํŠธ๊ฐ€ ๋งŽ์•„์„œ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ค์›Œ์ง 2. ๋ชจ๋“  ์—ฐ๊ด€๊ด€๊ณ„๋Š” ์ง€์—ฐ๋กœ๋”ฉ์œผ๋กœ ์„ค์ • - LAZY๋กœ ์„ค์ •!!! EX) @ManyToOne(fetch = FetchType.LAZY) 3. ์ปฌ๋ ‰์…˜ ๋ฐ”๋กœ๋ฐ”๋กœ ์„ธํŒ… (์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”) - null ๋ฌธ์ œ ๋ฐฉ์ง€ ์œ„ํ•ด 4. ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€์ผ๋•Œ๋Š” ์—ฐ๊ด€๊ด€๊ณ„ ํŽธ์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ๊ฐ’ ์„ธํŒ… - ์—ฐ๊ด€๊ด€๊ณ„์˜ ์ฃผ์ธ๋งŒ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ์ˆ˜๋Š” ์—†์œผ๋ฏ€๋กœ (DB์—๋Š” ์ฃผ์ธ๋งŒ ๊ฐ€์ ธ๋„ ok) 5. ์ตœ๋Œ€ํ•œ ์–ด๋””์—์„œ dependency์—†์ด ์ˆœ์ˆ˜ํ•˜๊ฒŒ ๋†”๋‘๊ธฐ(ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๋งŒ! ํ™”๋ฉด ๊ด€๋ จ ๋กœ์ง์€ Form ๊ฐ์ฒด ๋˜๋Š” DTO ์‚ฌ์šฉ) +) manytomany๋Š” ์™ ๋งŒํ•˜๋ฉด ์‚ฌ์šฉx, ์ผ๋Œ€๋‹ค, ๋‹ค๋Œ€์ผ๋กœ ๋‚˜๋ˆ„๊ธฐ +) API ๋งŒ๋“ค๋•Œ์—๋Š” ์ ˆ๋Œ€ ์—”ํ‹ฐํ‹ฐ๋ฅผ ์™ธ๋ถ€๋กœ ๋ฐ˜ํ™˜(๋…ธ์ถœ)..

[Mac] IntelliJ SpringBoot ๋‹จ์ถ•ํ‚ค ์ •๋ฆฌ
BACKEND/Spring 2021. 12. 24. 23:18

(Mac) getter/setter ์ƒ์„ฑ -control + enter ์„ธ๋ฏธ์ฝœ๋ก  ์ž๋™์ƒ์„ฑ command + shift + enter ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ import option + enter ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ - ํ•ด๋‹น ํด๋ž˜์Šค์—์„œ command + shift + t ์ด์ „ ๋™์ž‘ ๋‹ค์‹œ ์‹คํ–‰ - control + R ์ด์ „์— ๋“ค์–ด๊ฐ”๋˜ ํŒŒ์ผ ๋ชฉ๋ก - command + e ๊ฐ์ฒด ์ž๋™์ƒ์„ฑ - command + option + v ๋ฉ”์†Œ๋“œ ์ถ”์ถœ - ๋ฉ”์†Œ๋“œ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๋ถ€๋ถ€ ๋“œ๋ž˜๊ทธ ํ›„ command + option + M ์›ํ•˜๋Š” ์ฝ”๋“œ ํ–‰ ๋ณต์‚ฌ + ๋ถ™์—ฌ๋„ฃ๊ธฐ - ๋ณต์‚ฌ์›ํ•˜๋Š” ํ–‰ ์ปค์„œ ์˜ฌ๋ฆฐ ํ›„ , command + d

MAC pip upgrade ํ›„ ์—๋Ÿฌ ํ•ด๊ฒฐ

/usr/local/opt/python@3.9/bin/python3.9 -m pip install --upgrade pip

react - flask CORS ์—๋Ÿฌ ํ•ด๊ฒฐ
BACKEND/Flask 2021. 11. 11. 19:35

๋‹ค๋ฅธ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‘ ์„œ๋ฒ„๊ฐ„ ํ†ต์‹ ์„ ํ•  ๋•Œ ์ƒ๊ธฐ๋Š” ๋ณด์•ˆ์—๋Ÿฌ์ด๋‹ค. React์—์„œ axios๋กœ ํผ ์ „์†ก์‹œ, React axios.defaults.withCredentials = true; Flask pip install flask_cors ๋ชจ๋“ˆ ์„ค์น˜ ํ›„ app = Flask(__name__) CORS(app, supports_credentials=True) # ๋‹ค๋ฅธ ํฌํŠธ๋ฒˆํ˜ธ์— ๋Œ€ํ•œ ๋ณด์•ˆ ์ œ๊ฑฐ api = Api(app) ์œ„์™€ ๊ฐ™์ด ์จ์ฃผ๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค!! ๋‹ค๋ฅธ ํฌํŠธ๋ผ๋ฆฌ ํ†ต์‹ ํ• ๋•Œ ์ฟ ํ‚ค๊ฐ’์ด ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋˜์ง€์•Š์•„ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ์˜€๋‹ค.

[Flask] AWS S3 bucket ํŒŒ์ผ ์—…๋กœ๋“œ,์ด๋ฏธ์ง€ url ๊ฐ€์ ธ์˜ค๊ธฐ
BACKEND/Flask 2021. 11. 11. 01:17

flask ์›น์„œ๋ฒ„์— aws s3๋ฒ„ํ‚ท์„ ์—ฐ๊ฒฐ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํŒŒ์ด์ฌ ํŒŒ์ผ์„ ๋”ฐ๋กœ ์ž‘์„ฑํ–ˆ๋‹ค. pip install boto3 config.py ์ž‘์„ฑ (AWS ๋‚ด ๋ณด์•ˆ ์ž๊ฒฉ์ฆ๋ช…์—์„œ ํ‚ค ์–ป์–ด์˜ค๊ธฐ) AWS_ACCESS_KEY = "์ž‘์„ฑ" AWS_SECRET_KEY = "์ž‘์„ฑ" BUCKET_NAME = "๋ฒ„ํ‚ท์ด๋ฆ„" AWS S3 bucket ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ url ๊ฐ€์ ธ์˜ค๊ธฐ - upload_file ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ file_path๋Š” ๋‚ด ๋กœ์ปฌ ํ™˜๊ฒฝ ๋‚ด์— ๋งŒ๋“ค์–ด์ง„ ์ด๋ฏธ์ง€๊ฐ€ ์ €์žฅ๋œ ์ƒ๋Œ€๊ฒฝ๋กœ ์ด๋‹ค. ํ•ด๋‹น ๊ฒฝ๋กœ์˜ ์ด๋ฏธ์ง€๋ฅผ s3 bucket์— ์˜ฌ๋ ค image url์„ ์–ป์–ด์˜ค๊ธฐ ์œ„ํ•ด ํ•จ์ˆ˜๋ฅผ ๋”ฐ๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. import boto3 from config import * from botocore.exceptions import Clien..

article thumbnail
์œ ์Šค์ผ€์ด์Šค(Usecase) ๋ชจ๋ธ๋ง ๋ฐฉ๋ฒ•

์—ฐ๊ด€๊ด€๊ณ„ - Actor์™€ ์œ ์Šค์ผ€์ด์Šค๋ฅผ ์—ฐ๊ฒฐ - ์œ ์Šค์ผ€์ด์Šค์™€ ์œ ์Šค์ผ€์ด์Šค๋Š” ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์Œ ์ผ๋ฐ˜ํ™”๊ด€๊ณ„ - ๊ธฐ๋ณธ์ ์ธ ๋ชฉ์ ์ด ๊ฐ™์ง€๋งŒ ์ˆ˜ํ–‰ ๋ฐฉ๋ฒ•์ด ์—ฌ๋Ÿฌ๊ฐ€์ง€์ผ ๊ฒฝ์šฐ ๊ด€๊ณ„ ํ‘œํ˜„ ํฌํ•จ๊ด€๊ณ„ - ๋‹ค์ˆ˜์˜ ์œ ์Šค์ผ€์ด์Šค๊ฐ€ ๊ณตํ†ต์ ์ธ ํ–‰๋™์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ - ์ค‘๋ณต์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ - ํ•˜๋‚˜์˜ ์œ ์Šค์ผ€์ด์Šค๊ฐ€ ๋‹ค๋ฅธ ์œ ์Šค์ผ€์ด์Šค์˜ ์‹คํ–‰์„ ์ „์ œ๋กœ ํ•จ - ์œ ์Šค์ผ€์ด์Šค ๋ช…์„ธ ์ƒ๊ฐํ–ˆ์„ ๋•Œ ๊ผญ ํฌํ•จ๋˜๋Š” ๋ถ€๋ถ„๋งŒ ๋‚˜ํƒ€๋‚ด๊ธฐ! - ๋ฐฉํ–ฅ์€ base usecase -> inclusion usecase ํ™•์žฅ๊ด€๊ณ„ - ํ•œ ์œ ์Šค์ผ€์ด์Šค์˜ ํ™•์žฅ ์ง€์ ์— ์•ก์…˜ ์ถ”๊ฐ€ -> ๋‹ค๋ฅธ ์œ ์Šค์ผ€์ด์Šค๋กœ ํ™•์žฅ - "์„ ํƒ์  ์ˆ˜ํ–‰" - ๋ฐฉํ–ฅ์€ extension usecase -> base usecase โ€ป ์œ ์Šค์ผ€์ด์Šค ๊ทธ๋ฆด ๋•Œ ์ฃผ์˜ ์‚ฌํ•ญ 1. ์œ ์Šค์ผ€์ด์Šค๋ฅผ ์งง๊ณ  ๋‹จ์ˆœํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ผ 2. ์–ด๋–ป๊ฒŒ(h..

๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ, ๋น„ ๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ ๊ตฌ๋ณ„ํ•˜๊ธฐ

1. ๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ ์‹œ์Šคํ…œ์ด ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค, ์‹œ์Šคํ…œ์ด ๋ฌด์—‡์„ ํ•˜์—ฌ์•ผ ํ•˜๋Š”๊ฐ€๋ฅผ ๊ธฐ์ˆ  - ์ž…๋ ฅ (์œ ์ž…๋œ ๋ฐ์ดํ„ฐ์™€ ์ฒ˜๋ฆฌ) - ์ถœ๋ ฅ (ํ™”๋ฉด ๋””์Šคํ”Œ๋ ˆ์ด, ์ธ์‡„, ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์— ์ „๋‹ฌ๋˜๋Š” ์ •๋ณด) - ์ €์žฅ (์‹œ์Šคํ…œ์€ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š”๊ฐ€, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ) - ์ปดํ“จํŒ… (์–ด๋–ค ๊ณ„์‚ฐ ๋˜๋Š” ์„œ๋น„์Šค๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š”๊ฐ€) - ํƒ€์ด๋ฐ๊ณผ ๋™๊ธฐํ™” (ํ•˜๋“œ์›จ์–ด ์žฅ์น˜ ์ œ์–ด, ๋ฆฌ์–ผํƒ€์ž„์œผ๋กœ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์‹œ์Šคํ…œ์—์„œ ์ค‘์š”) 2. ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์ ธ์•ผ ํ•  ์ œ์•ฝ์กฐ๊ฑด ์„ธ๊ฐ€์ง€ ์ฃผ์š” ์œ ํ˜• 1) ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ ํŠน์„ฑ ์ธก๋ฉด (์„ฑ๋Šฅ, ์‹ ๋ขฐ์„ฑ, ๊ฐ€์šฉ์„ฑ, ์‚ฌ์šฉ์„ฑ ๋“ฑ) - ๋ฐ˜์‘์‹œ๊ฐ„ : ํƒ์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ 1์ดˆ ์ด๋‚ด ๋‚˜์™€์•ผ ํ•จ - ์ฒ˜๋ฆฌ๋Ÿ‰ : ๋ถ„๋‹น ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ์ˆ˜ - ์ž์› ์‚ฌ์šฉ๋Ÿ‰ : ์‹œ์Šคํ…œ์€ ์ตœ๋Œ€ ~ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•จ - ์‹ ๋ขฐ์„ฑ : ์‹œ์Šคํ…œ์ด ๊ณ ์žฅ์—†์ด ๋™์ž‘..

article thumbnail
์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ์žฅ๋‹จ์  + ์ฐจ์ด

์ค‘์š”ํ•œ ๋ชจ๋ธ - ํญํฌ์ˆ˜ ๋ชจ๋ธ - ํ”„๋กœํ† ํƒ€์ž… ๋ชจ๋ธ - ์ ์ฆ์  ๋ชจ๋ธ - ๋‚˜์„ ํ˜• ๋ชจ๋ธ - ์ง„ํ™”์  ๋ชจ๋ธ - ์• ์ž์ผ ๋ชจ๋ธ 1. ํญํฌ์ˆ˜ ๋ชจ๋ธ ํŠน์ง• : ๊ฐ ๋‹จ๊ณ„๊ฐ ๋‹ค์Œ ๋‹จ๊ณ„ ์‹œ์ž‘ ์ „์— ๋๋‚˜์•ผ ํ•จ ์ˆœ์„œ์ : ๊ฐ ๋‹จ๊ณ„ ์‚ฌ์ด์— ์ค‘๋ณต์ด๋‚˜ ์ƒํ˜ธ์ž‘์šฉ์ด ์—†์Œ ๋ฐ”๋กœ ์ „๋‹จ๊ณ„๋กœ ํ”ผ๋“œ๋ฐฑ ๊ฐ ๋‹จ๊ณ„์˜ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ ๋‹จ๊ณ„๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ ๊ฒ€(V&V) ์š”๊ตฌ์‚ฌํ•ญ ๋ณ€๊ฒฝ์ด ํ•œ์ •์ ์ธ ์ƒํ™ฉ์— ์ ํ•ฉ (๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ๊ณตํ•™ ํ”„๋กœ์ ํŠธ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋จ) Ex) ๊ตญ๋ฐฉ ์‹œ์Šคํ…œ ๊ณผ์ • : ์š”๊ตฌ์‚ฌํ•ญ ์ˆ˜์ง‘ ๋ฐ ์ •์˜ -> ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ -> ์„ค๊ณ„ -> ๊ตฌํ˜„ -> ํ†ตํ•ฉ ๋ฐ ๋ฐฐํฌ -> ์œ ์ง€๋ณด์ˆ˜ ์žฅ์  : ์ฒด๊ณ„์ ์ธ ๋ฌธ์„œํ™” ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์ƒํ™ฉ ๋ช…ํ™•ํžˆ ํŒŒ์•… ๊ฐ€๋Šฅ ๋‹จ์ : ํ”„๋กœ์„ธ์Šค ์ง„ํ–‰ ํ›„ ๋ณ€๊ฒฝ ์ˆ˜์šฉํ•˜๊ธฐ ์–ด๋ ค์›€ ์ดˆ๊ธฐ๋‹จ๊ณ„ ์ง€๋‚˜์น˜๊ฒŒ ๊ฐ•์กฐํ•˜๋ฉด ์ฝ”๋”ฉ, ํ…Œ์ŠคํŠธ๊ฐ€ ์ง€์—ฐ ์†Œ์šฉ์—†๋Š” ๋‹ค์ˆ˜์˜ ๋ฌธ์„œ ์ƒ์‚ฐํ•  ๊ฐ€..

SpringBoot build.gradle lombok ์„ค์ •
BACKEND/Spring 2021. 8. 26. 00:25

dependencies { ... //lombok implementation 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' ... } dependencies ๋‚ด๋ถ€์— ์œ„ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋“œ์‹œ ์ถ”๊ฐ€ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. (+ intellij lombok ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜) ๋‘์ค„ ์ „๋ถ€ ๊ผญ ์จ์ฃผ์–ด์•ผํ•œ๋‹ค. ํŠนํžˆ ๋‘๋ฒˆ์งธ ์ค„ ์ฝ”๋“œ๋ฅผ ๋นผ๋จน์œผ๋ฉด ์•ˆ๋œ๋‹ค. ์ฒซ ์ค„๋งŒ ์ ์–ด๋„ import๋Š” ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์–ด๋…ธํ…Œ์ด์…˜์„ ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. (์ด๊ฒƒ๋•Œ๋ฌธ์— cannot find symbol ์—๋Ÿฌ๋‚˜์„œ ํ•œ์ฐธ ํ—ค๋งธ๋‹ค.)

SpringBoot ์™€ mongoDB์—ฐ๋™ํ•˜๊ธฐ - swagger-ui ์‚ฌ์šฉ
BACKEND/Spring 2021. 8. 22. 15:00

์ผ๋‹จ ๋‚œ gradle project๋กœ ์ง„ํ–‰ํ•˜์˜€๋‹ค. https://start.spring.io/ ๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ ํ›„, build.gradle์•ˆ์— implementation('org.springframework.boot:spring-boot-starter-data-mongodb') ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. ๋˜ํ•œ swagger์™€ swagger ui๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด //swagger //https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2' implementation group: 'io.spr..