RESTful API

RESTful ν•˜κ²Œ


JSON νƒ€μž…μ‚¬μš©ν•˜κΈ°


μš”μ²­λ˜λŠ” μ‘λ‹΅μ—μ„œ jsonνƒ€μž… μ‚¬μš©ν•˜κ³  보μž₯ν•˜κΈ° μœ„ν•΄
Content-Type : application/json
μ§€μ •ν•˜κΈ°

동사 λŒ€μ‹  λͺ…사 μ‚¬μš©ν•˜κΈ° && 볡수 λͺ…사 μ‚¬μš©ν•˜κΈ°


어떀일을 ν•˜λŠ”μ§€ λͺ…μ‹œν•˜κΈ° μœ„ν•΄ λͺ…사λ₯Ό μ‚¬μš©ν•˜κΈ°
λ™μ‚¬μ˜ ν–‰μœ„λŠ” HTTP λ©”μ†Œλ“œλ‘œ μ§€μ •ν•œλ‹€
Β 
λͺ…μ‚¬μ˜ 예

볡수 λͺ…μ‚¬μ˜ 예

❌
POST http://localhost/user/123
βœ…
Β 

HTTP METHODS


  • GET
    • 데이터λ₯Ό μ–»μ–΄μ˜¬λ•Œ
  • POST
    • 데이터λ₯Ό μƒμ„±ν• λ•Œ
  • PUT
    • 데이터λ₯Ό 생성 λ˜λŠ” μ—…λ°μ΄νŠΈ
    • 데이터가 μ—†λŠ” 경우 생성 ν›„ 201 http μƒνƒœμ½”λ“œ 리턴
    • 데이터가 μžˆλŠ” 경우 ν•΄λ‹Ή μžμ›μœΌλ‘œ 전체 μ—…λ°μ΄νŠΈ ν›„ μ„±κ³΅μ‹œ 200 http μƒνƒœμ½”λ“œ μ‹€νŒ¨μ‹œ 204 http μƒνƒœμ½”λ“œ
  • PATCH
    • 뢀뢄적인 μˆ˜μ •
  • DELETE
    • 데이터λ₯Ό μ‚­μ œν• λ•Œ

HTTP μƒνƒœμ½”λ“œ μ‚¬μš©ν•˜κΈ°


μƒνƒœ μ½”λ“œ λ²”μœ„
100 ~ 199
200 ~
300 ~ 309
400 ~ 409
500 ~ 509
의미
정보 제곡용, ex) 102 μžμ›μ΄ 가곡 쀑
μš”μ²­ 성곡 응닡, ex) 200 201
λ¦¬λ‹€μ΄λ ‰νŠΈ, ex) 301 영ꡬ적 이동
ν΄λΌμ΄μ–ΈνŠΈ 단 μ—λŸ¬, ex)400 잘λͺ» μš”μ²­, 404 μ—†λŠ” νŽ˜μ΄μ§€
μ„œλ²„ 단 μ—λŸ¬, ex) μ„œλ²„ λ‚΄λΆ€μ˜ μ—λŸ¬

μ—”λ“œν¬μΈνŠΈ 쀑첩


필터링, μ •λ ¬


SSL적용 ν›„ HTTPSμ‚¬μš©ν•˜κΈ°


버전 μ‚¬μš©ν•˜κΈ°


버전1)
https://localhost/v1/users
버전2)
https://localhost/v2/users
λŒ“κΈ€ 0개

λ“±λ‘λœ λŒ“κΈ€μ΄ ν•˜λ‚˜λ„ μ—†μŠ΅λ‹ˆλ‹€...😒