Noah_Developer
Developer Noah
Noah_Developer
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ์ „์ฒด๋ณด๊ธฐ (87)
    • Programmers (33)
      • Level1 (33)
    • FRONT-END (3)
      • React (2)
      • HTML (0)
      • CSS (0)
      • JavaScrpit (1)
    • BACK-END (23)
      • JAVA (14)
      • C (0)
      • Spring (5)
    • DATABASE (11)
      • MySQL (3)
      • Oracle (0)
    • IDE (2)
      • IntelliJ (2)
      • Eclipse (0)
      • VSCode (0)
    • Android (1)
    • ์šฉ์–ด (2)
      • ๊ธˆ์œต (2)
    • Developer Diary (5)
      • Web (1)
    • ์ž๊ฒฉ์ฆ (1)
    • Operating System (3)
      • Linux (2)
    • Info (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ๋ฐฉ๋ช…๋ก
  • ํฌํŠธํด๋ฆฌ์˜ค
  • ๊นƒํ—ˆ๋ธŒ

๊ณต์ง€์‚ฌํ•ญ

  • ๐Ÿ™ ๋ฐฉ๋ฌธ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ1
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์—ฐ์Šต๋ฌธ์ œ
  • programmers level 1
  • level1
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์˜ˆ์ œ
  • ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ์ •๋‹ต
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์—ฐ์Šต๋ฌธ์ œ
  • ์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์—ฐ์Šต๋ฌธ์ œ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œํ’€์ด
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ค€๋น„
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ
  • ์นด์นด์˜ค ๋ธ”๋ผ์ธ๋“œ ํ…Œ์ŠคํŠธ
  • ์นด์นด์˜ค ๋ธ”๋ผ์ธ๋“œ
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • String StringBuilder ์ฐจ์ด
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‰ฌ์šด๋ฌธ์ œ
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ธ”๋กœ๊ทธ
  • MySQL
  • ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉ์—ฐ์Šต
  • ์ดˆ๋ณด์ž ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด
  • ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ํ’€์ด
  • ์นด์นด์˜ค๊ณต์ฑ„
  • ์ž๋ฐ” ์‰ฌ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๊ฐœ๋ฐœ์ผ๊ธฐ
  • programmers
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ ํ’€์ด
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
Noah_Developer

Developer Noah

REST API ๋””์ž์ธ ๊ฐ€์ด๋“œ
BACK-END/Spring

REST API ๋””์ž์ธ ๊ฐ€์ด๋“œ

2022. 10. 27. 11:49
728x90

๐Ÿค™๐Ÿป ๋””์ž์ธ ๊ทœ์น™

URI์„ ๋””์ž์ธํ•  ๋•Œ ์ž์ฃผ ์–ธ๊ธ‰ ๋˜๋Š” 7๊ฐ€์ง€ ๊ทœ์น™์„ ์ •๋ฆฌํ•˜์˜€๋‹ค.

1. URI ๋งˆ์ง€๋ง‰์— ์Šฌ๋ž˜์‹œ(/)๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.

URI ๊ฒฝ๋กœ ๋งˆ์ง€๋ง‰์€ ๋ฐ˜๋“œ์‹œ ๋ฌธ์ž์—ฌ์•ผ ํ•œ๋‹ค. ์Šฌ๋ž˜์‹œ(/) ๋‹ค์Œ์— ์˜๋ฏธ ์žˆ๋Š” ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์œผ๋ฉด ํ˜ผ๋™์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

X : http://api.canvas.com/shapes/

O : http://api.canvas.com/shapes

2. ์Šฌ๋ž˜์‹œ(/)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์ธต์  ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

์Šฌ๋ž˜์‹œ ๋ฌธ์ž๋Š” ๋ฆฌ์†Œ์Šค ๊ฐ„์˜ ๊ณ„์ธต์  ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด URI ๊ฒฝ๋กœ์— ์‚ฌ์šฉ๋œ๋‹ค.

ex) http://api.canvas.com/shapes/polygons/quadrilaterals/squares

3. URI ๊ฐ€๋…์„ฑ์„ ๋†’์ด๋ ค๋ฉด ํ•˜์ดํ”ˆ(-)์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

URI๋ฅผ ์‚ฌ๋žŒ๋“ค์ด ์‰ฝ๊ฒŒ ์Šค์บ”ํ•˜๊ณ  ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋”๋กœ ํ•˜์ดํ”ˆ(-) ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€๋…์„ฑ์„ ๋†’์ธ๋‹ค. ์˜์–ด๋กœ ๊ณต๋ฐฑ์ด๋‚˜ ํ•˜์ดํ”ˆ์„ ์‚ฌ์šฉํ•˜๋ฉด URI์—์„œ๋Š” ๋ชจ๋‘ ํ•˜์ดํ”ˆ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

spinal-case ์‚ฌ์šฉํ•œ๋‹ค.

ex) http://api.example.com/rest/api/this-is-uri-design

4. ๋ฐ‘์ค„(_)์€ URI์— ์‚ฌ์šฉํ•ด์„œ ์•ˆ๋œ๋‹ค.

URI์— ํ•˜์ดํผ๋งํฌ๊ฐ€ ๊ฑธ๋ ค์žˆ์„ ๊ฒฝ์šฐ ์ข…์ข… URI์— ๋ฐ‘์ค„์„ ์ณ์„œ ํด๋ฆญํ•  ์ˆ˜ ์žˆ๊ฒŒ ์‹œ๊ฐํ™”ํ•œ๋‹ค. ๊ธ€๊ผด์— ๋ฐ‘์ค„(_)๋ฌธ์ž๊ฐ€ ๋ฐ‘์ค„๋กœ ์ธํ•ด ๋ถ€๋ถ„์ ์œผ๋กœ ๊ฐ€๋ ค์ง€๊ฑฐ๋‚˜ ์™„์ „ํžˆ ์ˆจ๊ฒจ์งˆ ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ํ˜ผ๋™์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐ‘์ค„๋Œ€์‹  ํ•˜์ดํ”ˆ(-)์„ ์‚ฌ์šฉํ•œ๋‹ค.

๋ฐ‘์ค„ ๋น„๊ต ์ด๋ฏธ์ง€

5. URI๋Š” ์†Œ๋ฌธ์ž๋กœ ์ž‘์„ฑํ•˜๊ณ , ๋ช…์‚ฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

๋ฆฌ์†Œ์Šค๋ฅผ ์„ค๋ช…ํ•  ๋•Œ ๋™์‚ฌ๊ฐ€ ์•„๋‹Œ ๊ตฌ์ฒด์ ์ธ ๋ช…์‚ฌ ์‚ฌ์šฉํ•œ๋‹ค.

6. ํŒŒ์ผ ํ™•์žฅ์ž๋Š” URI์— ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋งˆ์นจํ‘œ(.) ๋ฌธ์ž๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋ฆ„๊ณผ ํ™•์žฅ์ž ๋ถ€๋ถ„์„ ๊ตฌ๋ถ„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. REST API๋Š” ๋ฉ”์„ธ์ง€์˜ entity body ํ˜•์‹์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด URI๋Š” ํŒŒ์ผ ํ™•์žฅ์ž๋ฅผ ํฌํ•จํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค.

ex)

X : http://restapi.example.com/members/soccer/345/photo.jpg

O : http://restapi.example.com/members/soccer/345/photo

๋Œ€์‹  ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณธ๋ฌธ์˜ ์ปจํ…์ธ ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.

GET /members/soccer/345/photo HTTP/1.1
Host: restapi.example.com
Accept: image/jpg

Accept๋กœ ์›ํ•˜๋Š” ํ˜•์‹์„ ๋ณด๋‚ด๋ฉด, ์„œ๋ฒ„๊ฐ€ ๊ทธ์— ๋งž์ถฐ ๋ณด๋‚ด์ค€๋‹ค.

7. ๋ณต์ˆ˜ํ˜•์„ ์‚ฌ์šฉํ•œ๋‹ค.

ex) http://api.college.com/students/3248234/courseshttp://api.college.com/students/3248234/courses/physics

์ฐธ๊ณ 

REST API URI ์„ค๊ณ„๋ฅผ ์œ„ํ•œ 7๊ฐ€์ง€ ๊ทœ์น™https://blog.restcase.com/7-rules-for-rest-api-uri-design

728x90
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'BACK-END > Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Spring Batch ๊ธฐ๋ณธ ๊ตฌ์กฐ  (0) 2023.04.10
Spring Batch ์‹œ์ž‘ํ•˜๊ธฐ  (0) 2023.02.19
[Spring Batch] Scheduled cron Expression ํฌ๋ก  ํ‘œํ˜„์‹  (3) 2022.03.16
[Spring Boot] Failed to determine a suitable driver class ์—๋Ÿฌ  (0) 2021.12.14
    'BACK-END/Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • Spring Batch ๊ธฐ๋ณธ ๊ตฌ์กฐ
    • Spring Batch ์‹œ์ž‘ํ•˜๊ธฐ
    • [Spring Batch] Scheduled cron Expression ํฌ๋ก  ํ‘œํ˜„์‹
    • [Spring Boot] Failed to determine a suitable driver class ์—๋Ÿฌ
    Noah_Developer
    Noah_Developer
    ๊ฐœ๋ฐœ ๊ธฐ๋ก ๋ชฉ์ ์„ ๊ฐ€์ง„ ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”