Server
νμ΅ ν€μλ
Express μ΄μ©ν κ°λ¨ν Server ꡬμΆ
Fetch API
Axios
Express μ΄μ©ν κ°λ¨ν Server ꡬμΆ
νμν ν¨ν€μ§ μ€μΉ
cors
express
nodemon
uuid
npm init -y
npm i express nodemon uuidServer ꡬλ λ°©λ²
ν΄λΉ λ°©μμ μμ μ¬νμ λ°μν΄μ£Όμ§ μμ, server off νκ³ μ¬κ΅¬λ
nodemonμ server.jsμ μμ μ¬νμ κ°μ§ν΄μ λ°λ‘ λ°μν΄μ£ΌκΈ° λλ¬Έμ μ¬μ©
π APIλ₯Ό μ¬μ©νκΈ° μν΄μ μμμΌ νλ κ°λ
μΉλΈλΌμ°μ μ μλ²μ ν΅μ νκΈ°μν΄μ HTTP νλ‘ν μ½μ μ¬μ©
HTTP Protocol : TCP/IP κΈ°λ°μΌλ‘ ν΄λΌμ΄μΈνΈμ μλ² μ¬μ΄μ μ΄λ£¨μ΄μ§λ μμ²/μλ΅ νλ‘ν μ½
TCP/IP κΈ°λ°μΌλ‘ ν΄λΌμ΄μΈνΈμ μλ² μ¬μ΄μ μ΄λ£¨μ΄μ§λ μμ²/μλ΅ νλ‘ν μ½
HTTP : TCP/IP
QUIC : UDP κΈ°λ°μΌλ‘ λΉ λ₯Έ μ μ‘ μλλ₯Ό κ°μ§λ νλ‘ν μ½
HTTP Method : GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD, TRACE
GET : λ°μ΄ν°λ₯Ό μμ²νκΈ° μν΄ μ¬μ©λλ λ©μλ β 보μμ μ½ν¨
POST : λ°μ΄ν°λ₯Ό μμ±νκΈ° μν΄ μ¬μ©λλ λ©μλ β 보μμ μμ μ± λμ
PUT : λ°μ΄ν°λ₯Ό μ λ°μ΄νΈνκΈ° μν΄ μ¬μ©λλ λ©μλ β λ°μ΄ν°λ₯Ό
μ 체μ μΌλ‘μ λ°μ΄νΈPATCH : λ°μ΄ν°λ₯Ό μ λ°μ΄νΈνκΈ° μν΄ μ¬μ©λλ λ©μλ β λ°μ΄ν°λ₯Ό
μΌλΆλΆλ§μ λ°μ΄νΈDELETE : λ°μ΄ν°λ₯Ό μμ νκΈ° μν΄ μ¬μ©λλ λ©μλ
Http/Https : Https(보μ μΈμ¦μκ° μΆκ°λ νλ‘ν μ½) β μΈνλΌ μμ
π€ RESTful, REST νΈμΆνλ€λΌλ μλ―Έλ? HTTP Methodλ₯Ό κ·μΉμ λ§λ API μ€κ³ μ λ΅
π©π»βπ» TodoListμ API μμ±
GET : Todos μ‘°ν
POST : Todo μμ±
PATCH : Todo Completed Update
PUT : Todo Task Update
DELETE : ν μΌ μμ
Fetch API
CORS
ν΄κ²°νλ 주체λ Backend (κ·Όλ³Έ)
π¨ Access to fetch at 'http://localhost:4000/todos' from origin 'http://localhost:5173' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
νμ΅μ λͺ©μ μμΌλ‘, Express λ―Έλ€μ¨μ΄λ‘ ν΄κ²°
GET
κΈ°λ³Έ μ¬μ©λ²
async/await κ³Ό ν¨κ» μ¬μ©νλ λ°©λ²
POST
PATCH
DELETE
Axios
μ€μΉ
π§ λ©΄μ μ§λ¬Έ : λλ€ http 리νμ€νΈλ₯Ό λ§λλ건 λμΌνλ€. fetch API λ΄μ₯ ν¨μμ΄κ³ , axiosλ λΌμ΄λΈλ¬λ¦¬μ΄κΈ° λλ¬Έμ fetch API λ³΄λ€ λ λμ λ²μλ₯Ό μ»€λ² ν μ μλ€. (μ¬μ©μ μμ΄ νΈμμ±μ μ 곡νλ μ₯μ μ΄ μλ€.)
GET
POST
Patch
Delete
Last updated