๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กjava (6)

JUINTINATION

Postman์„ ํ™œ์šฉํ•œ API ๋ฌธ์„œ ๋งŒ๋“ค๊ธฐ

์ง€๋‚œ๋ฒˆ์— Swagger๋ฅผ ํ™œ์šฉํ•œ API Specification์— ๋Œ€ํ•œ ๊ธ€์„ ์ž‘์„ฑํ–ˆ์—ˆ๋‹ค. Swagger๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ API ๋ช…์„ธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๋‚ด์šฉ์˜ ๊ธ€์ด์—ˆ๋Š”๋ฐ, ์ด๋Ÿฌํ•œ Swagger ๋ง๊ณ ๋„ ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์œผ๋กœ API ๋ฌธ์„œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. Swagger๋ฅผ ํ™œ์šฉํ•œ API SpecificationOpen API Document ๋ช…์„ธ ์ œ์•ˆ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ํ™œ์šฉํ•œ todo-api-server์˜ ๋‚ด์šฉ์„ ๊นƒํ—ˆ๋ธŒ์— ์˜ฌ๋ฆฌ๊ณ  ์–ผ๋งˆ ์ง€๋‚˜์ง€ ์•Š์•˜์„ ๋•Œ ๊ฐ‘์ž๊ธฐ ์•Œ๋ฆผ์ด ์™”๋‹ค. ์ค€ํ˜ธ ํ˜•์ด API ๋ช…์„ธ๋ฅผ ํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค๊ณ  Issue๋ฅผ ๋‚จ๊ธด ๊ฒƒ์ด์—ˆ๋‹ค. ๊ทธ๋ž˜juintination.tistory.comPostman๋‚˜๋Š” Postman์„ ์ง€๊ธˆ๊นŒ์ง€ API ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ๋งŒ ์‚ฌ์šฉํ•ด์™”๋‹ค. ์ง€๋‚œ ์ŠคํผํŠธ ํ”„๋กœ์ ํŠธ์—์„œ ์ฒ˜์Œ ์‚ฌ..

StudyNote 2024. 7. 7. 15:38
Swagger๋ฅผ ํ™œ์šฉํ•œ API Specification

Open API Document ๋ช…์„ธ ์ œ์•ˆ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ํ™œ์šฉํ•œ todo-api-server์˜ ๋‚ด์šฉ์„ ๊นƒํ—ˆ๋ธŒ์— ์˜ฌ๋ฆฌ๊ณ  ์–ผ๋งˆ ์ง€๋‚˜์ง€ ์•Š์•˜์„ ๋•Œ ๊ฐ‘์ž๊ธฐ ์•Œ๋ฆผ์ด ์™”๋‹ค. ์ค€ํ˜ธ ํ˜•์ด API ๋ช…์„ธ๋ฅผ ํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค๊ณ  Issue๋ฅผ ๋‚จ๊ธด ๊ฒƒ์ด์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์ง€๋‚œ ์ŠคํผํŠธ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•œ ์ ์ด ์žˆ๋Š” Swagger๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. (์ƒค๋ผ์›ƒ ํˆฌ ์ค€ํ˜ธํ˜•) TODO API SERVER with ์Šคํ”„๋ง๋ถ€ํŠธ์ข…๊ฐ•์„ ํ•˜๊ณ  ์ด๋Ÿฐ์ €๋Ÿฐ ๋ฐ€๋ฆฐ ์ผ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ณด๋‹ˆ ์–ด๋Š์ƒˆ 7์›”.. ๋‚ ์”จ๊ฐ€ ๊ฒฌ๋”œ ์ˆ˜ ์—†์„ ๋งŒํผ ๋”์›Œ์ง€๊ณ  ์ด๋Ÿฌ๋‹ค๊ฐ€ ๋งˆ์ง€๋ง‰ ๋ฐฉํ•™์„ ์•„๋ฌด๊ฒƒ๋„ ์•ˆ ํ•˜๊ณ  ์ข…์ผ ์œ ํŠœ๋ธŒ๋งŒ ๋ณด๋ฉด์„œ ๋ณด๋‚ผ ๊ฒƒ ๊ฐ™์•„์„œ ์˜ˆ์ „์— ์ž‘์„ฑํ–ˆjuintination.tistory.comSwaggerSwagger๋ž€ Restful API๋ฅผ ๋ฌธ์„œํ™”ํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์‰ฝ๊ฒŒ ํ…Œ์ŠคํŠธํ•˜๊ณ  ํ˜ธ์ถœํ• ..

StudyNote 2024. 7. 1. 23:49
TODO API SERVER with ์Šคํ”„๋ง๋ถ€ํŠธ

์ข…๊ฐ•์„ ํ•˜๊ณ  ์ด๋Ÿฐ์ €๋Ÿฐ ๋ฐ€๋ฆฐ ์ผ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ณด๋‹ˆ ์–ด๋Š์ƒˆ 7์›”.. ๋‚ ์”จ๊ฐ€ ๊ฒฌ๋”œ ์ˆ˜ ์—†์„ ๋งŒํผ ๋”์›Œ์ง€๊ณ  ์ด๋Ÿฌ๋‹ค๊ฐ€ ๋งˆ์ง€๋ง‰ ๋ฐฉํ•™์„ ์•„๋ฌด๊ฒƒ๋„ ์•ˆ ํ•˜๊ณ  ์ข…์ผ ์œ ํŠœ๋ธŒ๋งŒ ๋ณด๋ฉด์„œ ๋ณด๋‚ผ ๊ฒƒ ๊ฐ™์•„์„œ ์˜ˆ์ „์— ์ž‘์„ฑํ–ˆ์—ˆ๋˜ todo-api-server์˜ ๋‚ด์šฉ์„ ์Šคํ”„๋ง ๋ณต์Šต ๊ฒธ ์ž‘์„ฑํ•ด ๋ณด๊ณ ์ž ํ•œ๋‹ค.์ง€๋‚œ ํ•™๊ธฐ์— ์ธํ”„๋Ÿฐ ๊ฐ•์˜(์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” React with ์Šคํ”„๋ง๋ถ€ํ„ฐ API์„œ๋ฒ„)๋ฅผ ๋ณด๋ฉด์„œ ์ž‘์„ฑํ•˜์˜€์œผ๋ฉฐ, ์›๋ณธ ์†Œ์Šค์ฝ”๋“œ๋Š” ๋‹ค์Œ ๋งํฌ์— ๊ณต๊ฐœ๋˜์–ด ์žˆ๋‹ค. ์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” React with ์Šคํ”„๋ง๋ถ€ํŠธ API์„œ๋ฒ„ ๊ฐ•์˜ | ๊ตฌ๋ฉ๊ฐ€๊ฒŒ์ฝ”๋”ฉ๋‹จ - ์ธํ”„๋Ÿฐ๊ตฌ๋ฉ๊ฐ€๊ฒŒ์ฝ”๋”ฉ๋‹จ | ์Šคํ”„๋ง ๋ถ€ํŠธ(Spring Boot ver3.1(3.2 ํ˜ธํ™˜))๋กœ ์ œ์ž‘๋˜๋Š” API ์„œ๋ฒ„์™€ ๋ฆฌ์•กํŠธ์˜ ์—ฐ๋™ ํ”„๋กœ์ ํŠธ ์™„์„ฑํ•˜๊ธฐ! ํฌํŠธํด๋ฆฌ์˜ค ์ž‘์„ฑ ๋ถ€ํŠธ์บ ํ”„ ๊ณผ์ • ์ „์ฒด๋ฅผ ๊ฐ•์˜๋กœ ์ œ์ž‘, '๊ตฌ์Šฌ์ด ์„œ ๋ง..

Java Spring Boot 2024. 7. 1. 19:39
์Šคํ”„๋ง๋ถ€ํŠธ + MySQL ํ”„๋กœ์ ํŠธ ๋„์ปค๋ผ์ด์ง•ํ•˜๊ธฐ

์ง€๋‚œ๋ฒˆ์— ์ฑ…์„ ๋ณด๋ฉด์„œ ๋”ฐ๋ผ์„œ ๋งŒ๋“  ๊ฐ„๋‹จํ•œ ๊ฒŒ์‹œํŒ ํ”„๋กœ์ ํŠธ์ธ Board-Clone ํ”„๋กœ์ ํŠธ๋ฅผ ๋„์ปค๋ผ์ด์ง•ํ•ด๋ดค๋‹ค. Express.js๋ฅผ ์‚ฌ์šฉํ•œ ์ŠคํผํŠธ ํ”„๋กœ์ ํŠธ์—๋„ ์ ์šฉํ•ด๋ณธ ์ ์ด ์žˆ๋Š”๋ฐ ๊ทธ ๋‚ด์šฉ์„ ๋‚ด๊ฐ€ ์•ˆ ์ ์–ด๋‘ฌ์„œ ์ฒ˜์Œ์— ์กฐ๊ธˆ ํ—ค๋งธ๋‹ค..์—ฌ๋Ÿฌ ๋ธ”๋กœ๊ทธ์™€ ํ•™๊ต ์„ ๋ฐฐ์˜ ๊นƒํ—ˆ๋ธŒ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•ด๊ฐ€๋ฉด์„œ Dockerfile์„ ์ž‘์„ฑํ•ด๋‚˜๊ฐ€๋Š”๋ฐ Express.js๋ฅผ ๋„์ปค๋ผ์ด์ง•ํ•  ๋•Œ์™€ ํฐ ์ฐจ์ด๋Š” ์—†์—ˆ์ง€๋งŒ ์•ฝ๊ฐ„์”ฉ ๋‹ฌ๋ผ์„œ ์ข€ ๋‹นํ™ฉํ•˜๊ธด ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  jdk 17 ๋ฒ„์ „์œผ๋กœ ํ•œ ์‚ฌ๋žŒ์ด ๋„ˆ๋ฌด ์ ์–ด์„œ ๋น„๊ต๊ตฐ์„ ์ฐพ๊ธฐ๋„ ์‰ฝ์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ž˜๋„ ์•„๋ฌดํŠผ ์„ฑ๊ณตํ•˜๊ธด ํ–ˆ๋Š”๋ฐ ๊ทธ ๋‚ด์šฉ์„ ๋˜ ๊นŒ๋จน๊ธฐ ์ „์— ์ ์–ด๋ณด์ž.DockerfileFROM gradle:7.3.3-jdk17 AS builderWORKDIR /buildCOPY . /buildRUN ./gradlew ..

StudyNote 2024. 3. 11. 22:51
์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ํ”„๋กœ์ ํŠธ Board Clone

์ง€๋‚œ Mac OS ์ž๋ฐ” ๋ฒ„์ „ ์—ฌ๋Ÿฌ ๊ฐœ ๊ด€๋ฆฌํ•˜๊ธฐ ๊ธ€์—์„œ ์ž ๊น ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์Šคํ”„๋ง์„ ์“ธ ์ผ์ด ์ƒ๊ฒจ์„œ jdk 17 ๋ฒ„์ „์„ ์„ค์น˜ํ–ˆ์—ˆ๋‹ค. ์ดํ›„์— ETRI์—์„œ ๋Œ€์—ฌํ•œ ์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ํ”„๋กœ์ ํŠธ ์ฑ…๊ณผ ํ•ด๋‹น ์ฝ”๋“œ๊ฐ€ ์ ํžŒ ๊นƒํ—ˆ๋ธŒ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๊ฒŒ์‹œํŒ ํ”„๋กœ์ ํŠธ๋ฅผ ๋”ฐ๋ผ ์น˜๋ฉด์„œ ์Šคํ”„๋ง ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. ๋ฌผ๋ก  ์ฑ…์˜ ๋ฒ„์ „๊ณผ ์ง€๊ธˆ ๋ฒ„์ „์ด ๋งŽ์ด ๋‹ฌ๋ผ์ ธ์„œ ์˜ค๋ฅ˜๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ–ˆ๊ณ  ๊ด€๋ จ ๋‚ด์šฉ์€ ๋„ค์ด๋ฒ„ ์นดํŽ˜์˜ QnA ๊ฒŒ์‹œํŒ๋„ ์ฐธ๊ณ ํ–ˆ๋‹ค. ์ด์ œ ๊ทธ ๋‚ด์šฉ์„ ์ฐจ๊ทผ์ฐจ๊ทผ ๋”ฐ๋ผ๊ฐ€๋ณด์ž. ๊ตฌ๋ฉ๊ฐ€๊ฒŒ์ฝ”๋”ฉ๋‹จ : ๋„ค์ด๋ฒ„ ์นดํŽ˜์•ˆ๋…•ํ•˜์„ธ์š”? ๊ตฌ๋ฉ๊ฐ€๊ฒŒ ์ฝ”๋”ฉ๋‹จ์˜ ํ™œ๋™์„ ์œ„ํ•œ ์นดํŽ˜์ž…๋‹ˆ๋‹ค.cafe.naver.comํ”„๋กœ์ ํŠธ ์ƒ์„ฑstart.spring.io์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด Thymeleaf, Lombok, Spring Data JPA, Spring Web, Spring B..

Java Spring Boot 2024. 3. 10. 23:09
์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ํ”„๋กœ์ ํŠธ Guestbook Clone

์ง€๋‚œ Mac OS ์ž๋ฐ” ๋ฒ„์ „ ์—ฌ๋Ÿฌ ๊ฐœ ๊ด€๋ฆฌํ•˜๊ธฐ ๊ธ€์—์„œ ์ž ๊น ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์Šคํ”„๋ง์„ ์“ธ ์ผ์ด ์ƒ๊ฒจ์„œ jdk 17 ๋ฒ„์ „์„ ์„ค์น˜ํ–ˆ์—ˆ๋‹ค. ์ดํ›„์— ETRI์—์„œ ๋Œ€์—ฌํ•œ ์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ํ”„๋กœ์ ํŠธ ์ฑ…๊ณผ ํ•ด๋‹น ์ฝ”๋“œ๊ฐ€ ์ ํžŒ ๊นƒํ—ˆ๋ธŒ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๋ฐฉ๋ฌธ๋ก ํ”„๋กœ์ ํŠธ๋ฅผ ๋”ฐ๋ผ ์น˜๋ฉด์„œ ์Šคํ”„๋ง ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. ๋ฌผ๋ก  ์ฑ…์˜ ๋ฒ„์ „๊ณผ ์ง€๊ธˆ ๋ฒ„์ „์ด ๋งŽ์ด ๋‹ฌ๋ผ์ ธ์„œ ์˜ค๋ฅ˜๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ–ˆ๊ณ  ๊ด€๋ จ ๋‚ด์šฉ์€ ๋„ค์ด๋ฒ„ ์นดํŽ˜์˜ QnA ๊ฒŒ์‹œํŒ๋„ ์ฐธ๊ณ ํ–ˆ๋‹ค. ์ด์ œ ๊ทธ ๋‚ด์šฉ์„ ์ฐจ๊ทผ์ฐจ๊ทผ ๋”ฐ๋ผ๊ฐ€๋ณด์ž. ๊ตฌ๋ฉ๊ฐ€๊ฒŒ์ฝ”๋”ฉ๋‹จ : ๋„ค์ด๋ฒ„ ์นดํŽ˜์•ˆ๋…•ํ•˜์„ธ์š”? ๊ตฌ๋ฉ๊ฐ€๊ฒŒ ์ฝ”๋”ฉ๋‹จ์˜ ํ™œ๋™์„ ์œ„ํ•œ ์นดํŽ˜์ž…๋‹ˆ๋‹ค.cafe.naver.comํ”„๋กœ์ ํŠธ ์ƒ์„ฑstart.spring.io์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด Thymeleaf, Lombok, Spring Data JPA, Spring Web, Spring B..

Java Spring Boot 2024. 2. 22. 23:26