[Sprint Mission4]

1. ํ”„๋กœ์ ํŠธ ๋งˆ์ผ์Šคํ†ค

  • ์ปจํŠธ๋กค๋Ÿฌ ๋ ˆ์ด์–ด ์ถ”๊ฐ€ ๋ฐ ์›น API ๊ตฌํ˜„
  • Postman ํ…Œ์ŠคํŠธ

2. ๊ธฐ๋ณธ ์š”๊ตฌ์‚ฌํ•ญ

2-1. ์ปจํŠธ๋กค๋Ÿฌ ๋ ˆ์ด์–ด ๊ตฌํ˜„

  • DiscodeitApplication์˜ ํ…Œ์ŠคํŠธ ๋กœ์ง์€ ์‚ญ์ œํ•˜์„ธ์š”.
  • ์ง€๊ธˆ๊นŒ์ง€ ๊ตฌํ˜„ํ•œ ์„œ๋น„์Šค ๋กœ์ง์„ ํ™œ์šฉํ•ด ์›น API๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”.
    • ์ด๋•Œ @RequestMapping๋งŒ ์‚ฌ์šฉํ•ด ๊ตฌํ˜„ํ•ด๋ณด์„ธ์š”.
    • ์•„๋ž˜์˜ โ€œ์›น API ์š”๊ตฌ์‚ฌํ•ญโ€ ์ฐธ๊ณ 
  • ์›น API์˜ ์˜ˆ์™ธ๋ฅผ ์ „์—ญ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์„ธ์š”.


2-2. API ํ…Œ์ŠคํŠธ

  • Postman์„ ํ™œ์šฉํ•ด ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ…Œ์ŠคํŠธ ํ•˜์„ธ์š”.
    • Postman API ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด exportํ•˜์—ฌ PR์— ์ฒจ๋ถ€ํ•ด์ฃผ์„ธ์š”.

3. ์›น API ์š”๊ตฌ์‚ฌํ•ญ

3-1. ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ

  • ์‚ฌ์šฉ์ž๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ชจ๋“  ์‚ฌ์šฉ์ž๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ฌ์šฉ์ž์˜ ์˜จ๋ผ์ธ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋‹ค.


3-2. ๊ถŒํ•œ ๊ด€๋ฆฌ

  • ์‚ฌ์šฉ์ž๋Š” ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


3-3. ์ฑ„๋„ ๊ด€๋ฆฌ

  • ๊ณต๊ฐœ ์ฑ„๋„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋น„๊ณต๊ฐœ ์ฑ„๋„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ณต๊ฐœ ์ฑ„๋„์˜ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ฑ„๋„์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํŠน์ • ์‚ฌ์šฉ์ž๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ฑ„๋„ ๋ชฉ๋ก์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.


3-4. ๋ฉ”์‹œ์ง€ ๊ด€๋ฆฌ

  • ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฉ”์‹œ์ง€๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํŠน์ • ์ฑ„๋„์˜ ๋ฉ”์‹œ์ง€ ๋ชฉ๋ก์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.


3-5. ๋ฉ”์‹œ์ง€ ์ˆ˜์‹  ์ •๋ณด ๊ด€๋ฆฌ

  • ํŠน์ • ์ฑ„๋„์˜ ๋ฉ”์‹œ์ง€ ์ˆ˜์‹  ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํŠน์ • ์ฑ„๋„์˜ ๋ฉ”์‹œ์ง€ ์ˆ˜์‹  ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํŠน์ • ์‚ฌ์šฉ์ž์˜ ๋ฉ”์‹œ์ง€ ์ˆ˜์‹  ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.


3-6. ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ

  • ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ 1๊ฐœ ๋˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

4. ์‹ฌํ™” ์š”๊ตฌ์‚ฌํ•ญ

4-1. ์ •์  ๋ฆฌ์†Œ์Šค ์„œ๋น™

  • ์‚ฌ์šฉ์ž ๋ชฉ๋ก ์กฐํšŒ, BinaryContent ํŒŒ์ผ ์กฐํšŒ API๋ฅผ ๋‹ค์Œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋„๋ก ์ˆ˜์ •ํ•˜์„ธ์š”.
    • ์‚ฌ์šฉ์ž ๋ชฉ๋ก ์กฐํšŒ
      • url: /api/user/findAll
      • ์š”์ฒญ
        • ํŒŒ๋ผ๋ฏธํ„ฐ, ๋ฐ”๋”” ์—†์Œ
      • ์‘๋‹ต
        • ResponseEntity<List<UserDto>>

          public record UserDto(
                  UUID id,
                  Instant createdAt,
                  Instant updatedAt,
                  String username,
                  String email,
                  UUID profileId,
                  Boolean online
          ) {
          }
          
    • ์‚ฌ์šฉ์ž ๋ชฉ๋ก ์กฐํšŒ
      • url: /api/binaryContent/find
      • ์š”์ฒญ
        • ํŒŒ๋ผ๋ฏธํ„ฐ: binaryContentId
        • ๋ฐ”๋”” ์—†์Œ
      • ์‘๋‹ต: ResponseEntity<BinaryContent>
  • static-resources.zip์„ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” ํ™”๋ฉด์„ ์„œ๋น™ํ•ด๋ณด์„ธ์š”.

4-2. ์ƒ์„ฑํ˜• AI ํ™œ์šฉ

  • ์ƒ์„ฑํ˜• AI (Claude, ChatGPT ๋“ฑ)๋ฅผ ํ™œ์šฉํ•ด์„œ ์œ„ ์ด๋ฏธ์ง€์™€ ๋น„์Šทํ•œ ํ™”๋ฉด์„ ์ƒ์„ฑ ํ›„ ์„œ๋น™ํ•ด๋ณด์„ธ์š”.

Leave a comment