๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ํ”„๋กœ์ ํŠธ/๊ฐœ์ธ ํ”„๋กœ์ ํŠธ

์ผ์ • ๊ด€๋ฆฌ ์•ฑ ๊ณผ์ œ_ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

by carrot0911 2024. 12. 10.

๊ณผ์ œ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

 

๋ฌธ์ œ ์ƒํ™ฉ

IntelliJ์—์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ค‘, import๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ฝ”๋“œ์˜ ๋งจ ์œ„๋กœ ์ถ”๊ฐ€๋˜์ง€ ์•Š๊ณ  ์ž‘์„ฑ ์ค‘์ธ ํ•ด๋‹น ์ค„์— import๋ฌธ์ด ์ถ”๊ฐ€๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

๋ฌธ์ œ ์›์ธ

๋ฌธ์ œ์˜ ์ •ํ™•ํ•œ ์›์ธ์€ ํŒŒ์•…ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.
ํ•˜์ง€๋งŒ import ์‹œ๋„ ์‹œ IntelliJ ์šฐ์ธก ํ•˜๋‹จ์— IDE Error ๋ฉ”์‹œ์ง€๊ฐ€ ์ง€์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚œ ๊ฒƒ์„ ๋ณด์•„ IntelliJ ์ž์ฒด์˜ ๋ฌธ์ œ๋กœ ํŒ๋‹จํ–ˆ๋‹ค.
์—ฌ๋Ÿฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ์„ค์ •์ด ๊ผฌ์˜€๊ฑฐ๋‚˜ ์ž˜๋ชป๋œ ๋ณ€๊ฒฝ์ด ์ด๋ฃจ์–ด์ง„ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•˜๊ณ  ์žˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

  • ํŠœํ„ฐ๋‹˜๊ณผ ํ•จ๊ป˜ ๋‹ค์–‘ํ•œ ์‹œ๋„
    • IntelliJ ์„ค์ • ๋ณ€๊ฒฝ
    • ์บ์‹œ ์‚ญ์ œ
  • ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ์‹œ๋„ํ•ด๋„ ์—ฌ์ „์น˜ IDE Error ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.
  • ์ตœ์ข… ํ•ด๊ฒฐ
    • IntelliJ๋ฅผ ์™„์ „ํžˆ ์‚ญ์ œํ•œ ํ›„ ์žฌ์„ค์น˜ ์ง„ํ–‰
    • ์žฌ์„ค์น˜ ํ›„ ๊ธฐ๋ณธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ, ๊ผญ ํ•„์š”ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ๋งŒ ์„ค์น˜

๊ฒฐ๋ก 

IntelliJ๋ฅผ ์žฌ์„ค์น˜ํ•œ ํ›„ ๋ฌธ์ œ ์—†์ด ์ •์ƒ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค.
์•ž์œผ๋กœ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•  ๋•Œ ์‹ ์ค‘ํ•˜๊ฒŒ ์„ ํƒํ•˜๊ณ , ๋ถˆํ•„์š”ํ•œ ๋ณ€๊ฒฝ์„ ์ตœ์†Œํ™”ํ•ด์„œ IDE์˜ ์•ˆ์ •์„ฑ์„ ์œ ์ง€ํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.


๋ฌธ์ œ ์ƒํ™ฉ

๊ณผ์ œ์˜ ์š”๊ตฌ์‚ฌํ•ญ์—์„œ๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค๊ณ  ์ž‘์„ฑ๋˜์–ด ์žˆ์ง€๋งŒ, ์ผ์ •์„ ์ƒ์„ฑํ•  ๋•Œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

๋ฌธ์ œ ์›์ธ

TodoResponseDto ํด๋ž˜์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๋Š”๋ฐ, ๊ฐ•์˜ ์‹ค์Šต ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์„ค์ •ํ–ˆ๋‹ค.
๊ฒฐ๊ณผ์ ์œผ๋กœ password ํ•„๋“œ๋„ ํ•จ๊ป˜ ๋ฐ˜ํ™˜๊ฐ’์— ํฌํ•จ๋˜๋ฉด์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

๋ฌธ์ œ ์ฝ”๋“œ

public TodoResponseDto(Todo todo) {
    this.id = todo.getId();
    this.title = todo.getTitle();
    this.content = todo.getContent();
    this.writer = todo.getWriter();
    this.password = todo.getPassword();
    this.created_date = todo.getCreated_date();
    this.updated_date = todo.getUpdated_date();
}

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

password ํ•„๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ–ˆ๋‹ค.

public TodoResponseDto(Todo todo) {
    this.id = todo.getId();
    this.title = todo.getTitle();
    this.content = todo.getContent();
    this.writer = todo.getWriter();
    this.created_date = todo.getCreated_date();
    this.updated_date = todo.getUpdated_date();
}

์ˆ˜์ • ํ›„ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋” ์ด์ƒ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š์•˜๊ณ  ๊ณผ์ œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๊ฒฐ๋ก 

๊ฐ•์˜ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์€ ํšจ์œจ์ ์ด์ง€๋งŒ ์š”๊ตฌ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์ ์ ˆํžˆ ์ˆ˜์ •ํ•˜๊ณ  ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ฐฐ์› ๋‹ค.
๋ณต์‚ฌ-๋ถ™์—ฌ๋„ฃ๊ธฐ๋งŒ์œผ๋กœ๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์ƒํ™ฉ์— ๋งž๋Š” ๋ณ€๊ฒฝ๊ณผ ํŒ๋‹จ ๋Šฅ๋ ฅ์ด ํ•„์š”ํ•จ์„ ๊นจ๋‹ฌ์•˜๋‹ค.


๋ฌธ์ œ ์ƒํ™ฉ

๊ฐ•์˜ ์‹ค์Šต ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉฐ TodoScheduleService์™€ TodoScheduleController๋ฅผ ์ž‘์„ฑํ•˜๋˜ ์ค‘์— ๋‘ ํด๋ž˜์Šค์—์„œ ์˜์กด์„ฑ์„ ์ฃผ์ž…๋ฐ›๋Š” ํ•„๋“œ ๊ฐ์ฒด๊ฐ€ ์ž˜๋ชป ์„ค์ •๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.

๋ฌธ์ œ ์›์ธ

Interface๋ฅผ ์ฃผ์ž…๋ฐ›์•„์•ผ ํ•˜๋Š”๋ฐ ๊ตฌํ˜„ ํด๋ž˜์Šค๋ฅผ ์ง์ ‘ ์ฃผ์ž…๋ฐ›๊ณ  ์žˆ์—ˆ๋‹ค.
์ด๊ฒƒ์€ DI(Dependency Injection) ์›์น™์— ์–ด๊ธ‹๋‚˜๋Š” ์ฝ”๋“œ๋กœ, ์ถ”ํ›„ ํ™•์žฅ์„ฑ ๋ฐ ์œ ์ง€๋ณด์ˆ˜์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฌธ์ œ ์ฝ”๋“œ

// TodoScheduleService
private final TodoScheduleRepository todoScheduleRepository;

// TodoScheduleController
private final TodoScheduleService todoScheduleService;

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

์˜์กด์„ฑ ์ฃผ์ž… ์‹œ, Interface๋ฅผ ์ฃผ์ž…๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ–ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ถ”ํ›„ ๊ตฌํ˜„์ฒด ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋„ ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

// TodoScheduleService
private final TodoRepository todoRepository;

// TodoScheduleController
private final TodoService todoService;

์ˆ˜์ • ํ›„ ์˜์กด์„ฑ ์ฃผ์ž… ์›์น™์— ๋งž๊ฒŒ Interface๋ฅผ ์ฃผ์ž…๋ฐ›๋„๋ก ๊ฐœ์„ ๋˜์—ˆ๋‹ค.

๊ฒฐ๋ก 

์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋Š” importํ•˜๋Š” ๋Œ€์ƒ์ด ์˜ฌ๋ฐ”๋ฅธ์ง€์™€ ์ฃผ์ž…๋ฐ›์•„์•ผ ํ•  ๊ฐ์ฒด์˜ ์—ญํ• ์„ ์ •ํ™ฉํžˆ ์ดํ•ดํ•˜๊ณ  ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐฐ์› ๋‹ค.
DI ์›์น™์„ ์ค€์ˆ˜ํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ์ข€ ๋” ์œ ์—ฐํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ๋„ ๊นจ๋‹ฌ์•˜๋‹ค.


๋ฌธ์ œ ์ƒํ™ฉ

๊ณผ์ œ์˜ ์š”๊ตฌ์‚ฌํ•ญ์—์„œ๋Š” ์ˆ˜์ •์ผ๊ณผ ์ž‘์„ฑ์ž๋ช…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ผ์ • ๋ชฉ๋ก์„ ๋ชจ๋‘ ์กฐํšŒํ•ด์•ผ ํ–ˆ๋‹ค.
์ฒ˜์Œ์—๋Š” ์ˆ˜์ •์ผ๋กœ ์กฐํšŒํ•  ๋•Œ SQL์˜ LIKE ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์—†์—ˆ๋‹ค.
์ž‘์„ฑ์ž๋ช…๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ์กฐํšŒํ–ˆ์„ ๋•Œ๋Š” ์ •์ƒ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ˜ํ™˜๋˜์—ˆ๋‹ค.

๋ฌธ์ œ ์›์ธ

LIKE๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋‚ ์งœ๋ฅผ ์กฐํšŒํ•˜๋ ค๋ฉด "YYYY-MM-DD%" ํ˜•์‹์œผ๋กœ ์ž…๋ ฅ๊ฐ’์„ ์ „๋‹ฌํ•ด์•ผ ํ•˜์ง€๋งŒ, "YYYY-MM-DD" ํ˜•์‹์œผ๋กœ ์กฐํšŒ๋ฅผ ์‹œ๋„ํ–ˆ๋‹ค.
์ด๋กœ ์ธํ•ด ์ˆ˜์ •์ผ์˜ ์‹œ๊ฐ„ ์ •๋ณด๊นŒ์ง€ ์ผ์น˜ํ•˜์ง€ ์•Š์•„ ์กฐํšŒ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š์•˜๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

์ž…๋ ฅ๊ฐ’์— % ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ "YYYY-MM-DD%" ํ˜•์‹์œผ๋กœ ์ˆ˜์ •ํ–ˆ๋‹ค.
์ˆ˜์ • ํ›„, ์ˆ˜์ •์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์ผ์ • ๋ชฉ๋ก์ด ์ •์ƒ์ ์œผ๋กœ ์กฐํšŒ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค.

๊ฒฐ๋ก 

SQL์„ ์‚ฌ์šฉํ•  ๋•Œ LIKE ์—ฐ์‚ฐ์ž๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ™œ์šฉํ•˜๋ ค๋ฉด ์ž…๋ ฅ๊ฐ’์˜ ํ˜•์‹๊ณผ ํŒจํ„ด์„ ์ •ํ™•ํžˆ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐฐ์› ๋‹ค.
๋‚ ์งœ์™€ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ๋Š” ํฌ๋งท์— ์ฃผ์˜ํ•˜๊ณ , ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์˜ˆ์ƒ ๊ฒฐ๊ณผ์™€ ๋น„๊ตํ•˜๋ฉฐ ํ™•์ธํ•˜๋Š” ์Šต๊ด€์ด ์ค‘์š”ํ•˜๋‹ค๋Š” ์ ์„ ๊นจ๋‹ฌ์•˜๋‹ค.

 


๋ฌธ์ œ ์ƒํ™ฉ

์ˆ˜์ •์ผ์„ ์กฐ๊ฑด์œผ๋กœ ์ผ์ • ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋ ค๊ณ  ํ–ˆ์œผ๋‚˜, ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•ด๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ชจ๋“  ์ผ์ •์ด ์กฐํšŒ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.
์ž‘์„ฑ์ž๋ช… ์กฐ๊ฑด์„ ํ•จ๊ป˜ ์ถ”๊ฐ€ํ•˜๋ฉด ์ •ํ™•ํžˆ ์กฐ๊ฑด์— ๋งž๋Š” ์ผ์ •์ด ๋ฐ˜ํ™˜๋˜์—ˆ๋‹ค.
์ด ๋ฌธ์ œ๋Š” ์ˆ˜์ •์ผ ์กฐ๊ฑด๋งŒ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ–ˆ๋‹ค.

๋ฌธ์ œ ์›์ธ

LIKE "YYYY-MM-DD%" ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •์ผ ์กฐ๊ฑด์„ ์ž‘์„ฑํ–ˆ์ง€๋งŒ updated_date ํ•„๋“œ๊ฐ€ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด์„œ ์ž…๋ ฅ๊ฐ’์ด ์ •ํ™•ํžˆ ๋งค์นญ๋˜์ง€ ์•Š์•˜๋‹ค. ์ˆ˜์ •์ผ ์กฐ๊ฑด์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•„์„œ ์ „์ฒด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ˜ํ™˜๋˜์—ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

LIKE ๋Œ€์‹  DATE(updated_date) ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ updated_date ํ•„๋“œ์˜ ๋‚ ์งœ ๋ถ€๋ถ„๋งŒ ๋น„๊ตํ•˜๋„๋ก SQL ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ–ˆ๋‹ค.
์ˆ˜์ • ํ›„ ์กฐ๊ฑด์— ๋งž๋Š” ์ผ์ •๋งŒ ์ •์ƒ์ ์œผ๋กœ ์กฐํšŒ๋˜์—ˆ๋‹ค.

๊ฒฐ๋ก 

์ฝ”๋“œ์—๋Š” ์ •๋‹ต์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•๋งŒ ๊ณ ์ง‘ํ•˜์ง€ ์•Š๊ณ  ๋‹ค์–‘ํ•œ ์ ‘๊ทผ๋ฒ•์„ ์‹œ๋„ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๋Š” ์ ์„ ๋ฐฐ์› ๋‹ค.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์—์„œ๋Š” ์ฟผ๋ฆฌ ์ž‘์„ฑ ์‹œ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ํ•จ์ˆ˜ ํ™œ์šฉ์— ์œ ์˜ํ•ด์•ผ ํ•˜๋ฉฐ, ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋” ์ ํ•ฉํ•œ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ๊นจ๋‹ฌ์•˜๋‹ค.


๋ฌธ์ œ ์ƒํ™ฉ

์„ ํƒํ•œ ์ผ์ •์„ ์ˆ˜์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ณ  Postman์„ ์ด์šฉํ•ด API๋ฅผ ํ˜ธ์ถœํ–ˆ์ง€๋งŒ ๊ณ„์† 404 NOT_FOUND ์‘๋‹ต์ด ๋ฐ˜ํ™˜๋˜์—ˆ๋‹ค.
์ด๋กœ ์ธํ•ด ์ผ์ •์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์—ˆ๋‹ค.

๋ฌธ์ œ ์›์ธ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๊ฐ’์„ ํ™•์ธํ•œ ๊ฒฐ๊ณผ, ๋น„๋ฐ€๋ฒˆํ˜ธ ํ•„๋“œ์— ์ž‘์„ฑ์ž๋ช…์ด ์ €์žฅ๋˜์–ด ์žˆ์—ˆ๋‹ค.
์ผ์ •์„ ์ €์žฅํ•˜๋Š” ์ฝ”๋“œ์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž˜๋ชป ์ฒ˜๋ฆฌํ•œ ๋กœ์ง์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•œ ๋ฌธ์ œ์˜€๋‹ค.
์ˆ˜์ • ์‹œ ์ž…๋ ฅ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์•„์„œ ์กฐ๊ฑด์— ๋งž๋Š” ์ผ์ •์„ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ๊ณ  404 NOT_FOUND๊ฐ€ ๋ฐ˜ํ™˜๋˜์—ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

์ผ์ •์„ ์ €์žฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ €์žฅ๋  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ๋‹ค.
์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•œ ํ›„, Postman์„ ์ด์šฉํ•ด ๋‹ค์‹œ ์š”์ฒญ์„ ๋ณด๋ƒˆ๋”๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ์ผ์ •์ด ์ˆ˜์ •๋˜์—ˆ๋‹ค.

๊ฒฐ๋ก 

์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ํ›„์—๋Š” ๋ฐ˜๋“œ์‹œ ์„ธ๋ถ€ ๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๊ผผ๊ผผํžˆ ๊ฒ€ํ† ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐฐ์› ๋‹ค.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜๋Š” ๊ฐ’์„ ํ™•์ธํ•˜๊ณ , ์ž…๋ ฅ๊ฐ’๊ณผ ์ €์žฅ๋œ ๊ฐ’์˜ ์ผ์น˜๋ฅผ ์‹ ์ค‘ํ•˜๊ฒŒ ๊ฒ€ํ† ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ๋ฐฐ์› ๋‹ค.