๐Ÿ‘จโ€๐ŸŽ“
Today I Learned
  • Today-I-Learend
  • ๐ŸŽWWDC
    • Developer Tools
      • Testing in Xcode
    • UIKit
      • UIDiffableDataSource
        • [WWDC 19] Advances in UI Data Sources
      • [WWDC2019] Advances in CollectionView Layout
  • ์ž๋ฃŒ๊ตฌ์กฐ
    • Heap ์ž๋ฃŒ๊ตฌ์กฐ
  • Clean code
    • ๋„ค์ด๋ฐ
    • ์ฃผ์„๊ณผ ํฌ๋งทํŒ…
    • ํ•จ์ˆ˜
    • ํด๋ž˜์Šค
    • ์—๋Ÿฌ ํ•ธ๋“ค๋ง
    • ๊ฐ€๋…์„ฑ ๋†’์ด๊ธฐ
    • ๊ฐ์ฒด์ง€ํ–ฅ
  • Network
    • RestAPI
  • Swift
    • DateType
    • ARC
    • Availablity
    • KeyPath
    • Network
    • Neverํƒ€์ž…
    • Result
    • Selector
    • ๊ฒ€์ฆํ•จ์ˆ˜
    • ๋ฉ”ํƒ€ํƒ€์ž…
    • ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    • ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „
    • ์—๋Ÿฌ์ฒ˜๋ฆฌ
    • ์ ‘๊ทผ์ œ์–ด (Access Control)
    • ์ œ๋„ค๋ฆญ
    • ์ฃผ์š” ํ”„๋กœํ† ์ฝœ
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ๊ทธ๋ž˜ํ”„
    • ๊ธฐ์ดˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ๋ˆ„์ ํ•ฉ(Prefix)
    • ๋ณต์žก๋„
    • ๋น„ํŠธ๋งˆ์Šคํ‚น
  • ์šด์˜์ฒด์ œ
    • ์šด์˜์ฒด์ œ์˜ ๊ฐœ์š”
    • ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ
    • CPU ์Šค์ผ€์ค„๋ง
    • ํ”„๋กœ์„ธ์Šค ๋™๊ธฐํ™”
    • ๊ต์ฐฉ์ƒํƒœ
    • 07. ๋ฉ”๋ชจ๋ฆฌ
    • 08.๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ
    • ์ž…์ถœ๋ ฅ ์žฅ์น˜
    • ํŒŒ์ผ ์‹œ์Šคํ…œ
  • UIKit
    • UITableView xib์œผ๋กœ ๋งŒ๋“ค์–ด๋ณด๊ธฐ
  • ๐Ÿ–Š๏ธ์ •๋ณด ๊ธฐ๋ก
    • ์ฝ”์ฝ”์•„ํŒŸ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•
  • iOS Project
    • ์ฑ„ํŒ… ์•ฑ ๋งŒ๋“ค๊ธฐ
      • Trouble shooting
      • 1. ๋””์ž์ธ
      • 2. AutoLayout
    • ๋‚ ์”จ ์กฐํšŒ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜
      • Figma๋ฅผ ์ด์šฉํ•œ UI ์„ค๊ณ„
      • TableView ์—ฐ๊ฒฐํ•˜๊ธฐ
      • Networking
    • MVC -> MVVM์œผ๋กœ ๊ตฌ์กฐ ๋ณ€๊ฒฝํ•ด๋ณด๊ธฐ
      • MVC
      • MVVM
    • OAuth Project
      • ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ๋ฅผ ์ด์šฉํ•œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์ œ์ž‘
      • Github์˜ OAuth App ์„ค์ •
    • Rest API ํ”„๋กœ์ ํŠธ
      • UI์„ค๊ณ„ (with Figma)
      • Network Model
      • MVVM ๊ตฌ์กฐ ์ „ํ™˜
  • ๐Ÿ•ถ๏ธUIKit
    • Compositional Layout
Powered by GitBook
On this page
  • API์˜ ์ •์˜
  • RestAPI์˜ ์ •์˜
  1. Network

RestAPI

PreviousNetworkNextSwift

Last updated 2 years ago

API์˜ ์ •์˜

  • Application Programming Interface์˜ ์•ฝ์ž๋กœ, ์•ฑ์ด ์„œ๋ฒ„์—๊ฒŒ ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๋Š” ํ˜•์‹์ด๋‹ค.

  • ์ฆ‰ S/W๊ฐ€ ๋‹ค๋ฅธ S/W์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ธฐ์œ„ํ•œ ์ˆ˜๋‹จ์ด๋‹ค.

  • ๋„คํŠธ์›Œํฌ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋กœ์ปฌ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋„ ์กด์žฌํ•œ๋‹ค. (๋ธŒ๋ผ์šฐ์ €์˜ webAPI)

RestAPI์˜ ์ •์˜

  • SOAP์˜ ๋ณต์žกํ•œ ํ˜•์‹์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด rest๋ž€ ํ˜•์‹์˜ ์š”์ฒญ ํผ์ด๋‹ค.

  • ์š”์ฒญ์˜ ํ˜•ํƒœ๋งŒ ๋ณด๊ณ , ์–ด๋–ค ๋™์ž‘์ธ์ง€ ์–ด๋–ค ์ •๋ณด๋ฅผ ์œ„ํ•œ ๊ฒƒ์ธ์ง€ ์ถ”๋ก ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

    • restfulํ•œ API๋Š” ์ฃผ์†Œ๋งŒ ๋ณด๊ณ ๋„, ์–ด๋–ค ์š”์ฒญ์ธ์ง€ ํŒŒ์•…์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๊ฐ„ ํ˜‘์—…์— ์ข‹์€ ์—ญํ• ์„ ํ•œ๋‹ค.

  • HTTP ๊ทœ์•ฝ์— ๋”ฐ๋ผ ์‹ ํ˜ธ๋ฅผ ์ „์†กํ•˜๊ฒŒ ๋œ๋‹ค.

    • GET, DELETE, POST, PUT, PATCH๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

    • POST, PUT, PATCH์˜ ๊ฒฝ์šฐ ๊ฐ๊ฐ Body๊ฐ€ ์กด์žฌํ•ด์„œ ๋น„๊ต์ ์œผ๋กœ ์ •๋ณด๋ฅผ ๊ฐ์ถฐ์„œ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค.

    • ๊ธฐ๋Šฅ์ด ํŠน์ • ์šฉ๋„์— ์ œํ•œ๋˜์–ด์žˆ์ง€๋Š” ์•Š์ง€๋งŒ Restfulํ•˜๊ฒŒ API๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ชฉ์ ์— ๋”ฐ๋ผ ๊ตฌ๋ถ„ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

  • ์‹ ํ˜ธ

    • GET : ์กฐํšŒ

    • POST : ์ƒ์„ฑ, Body์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์„œ ๋ณด๋‚ธ๋‹ค. (๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ํ›„ ์ธ๋ฑ์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋ฏ€๋กœ, ์ธ๋ฑ์Šค๋Š” ์„ ์–ธํ•˜์ง€ ์•Š๋Š”๋‹ค.)

    • PUT, PATCH: ์—…๋ฐ์ดํŠธ, ์—…๋ฐ์ดํŠธํ•  ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. BODY์— ์ƒˆ๋กœ์šด ์ •๋ณด๋ฅผ ๋„ฃ๋Š”๋‹ค.

      • PUT : ์ „์ฒด ์ •๋ณด๋ฅผ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค.

      • PATCH : ํŠน์ • ์ •๋ณด๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.

      • ๊ฐ™์€ ์—ญํ• ์ด๋ฉฐ, ๊ทธ๋ฃน์—์„œ ๊ฒฐ์ •ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

    • DELETE : ์‚ญ์ œ, ํŠน์ • ์ธ๋ฑ์Šค ์ •๋ณด๋ฅผ ์‚ญ์ œํ•œ๋‹ค.

  • โ€œํ˜•์‹โ€์ด๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ๊ธฐ์ˆ ์ด๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.

    • HTTP๋กœ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค๋ฉด, restfulํ•œ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. (restful api design guidelines๋ฅผ ๊ณต๋ถ€ํ•ด๋ณด์ž)

  • ์šฉ๋„์— ๋”ฐ๋ผ GraphicQL์„ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

  • ์ถœ์ฒ˜ :

์–„ํŒํ•œ ์ฝ”๋”ฉ์‚ฌ์ „ ์œ ํŠœ๋ธŒ ์˜์ƒ