examples | ||
.gitignore | ||
package.json | ||
README.md | ||
server.js | ||
task-service.js | ||
task.js |
Express
Kloonige https://bitbucket.org/mkalmo/i399exexpress repo ja importige see IDE-sse.
-
Laadige teegid
npm install
-
Käivitage rakendus
npm start
-
Kontrollige, et rakendus käib, minnes brauseris aadressile http://localhost:3000/api/tasks
-
Paigaldage Postman-i rakendus. Minge www.getpostman.com lehele ja valige sealt Chrome.
-
Saatke Postman-iga päring:
GET /api/tasks HTTP/1.1 Host: localhost:3000
-
Konsooli logimise asemel saatke vastus kliendile (praeguse "ok" asemel). Saata saab ainult stringi.
-
Lisage serverile staatiliste failide serveerimise võimalus. Näide: examples/express1.js.
Nt. http://localhost:3000/server.js peaks tagastama serveri koodi.
-
Lisage ühe ülesande küsimise võimalus.
Päring:
GET /api/tasks/ HTTP/1.1 Host: localhost:3000
tagastab konkreetse id-ga ülesande.
Näide: examples/express2.js
Selleks peate ka TaskService-ile lisama meetodi getTask(id). Kui vastava id-ga ülesanne puudub tagastage Promise.reject('no task with id: ' + id).
-
Lisage ülesande kustutamise võimalus.
Päring:
DELETE /api/tasks/ HTTP/1.1 Host: localhost:3000
Selleks peate ka TaskService-ile lisama meetodi deleteTask(id).
-
Pange server kasutama json-i teeki ja korrastage koodi.
response.set('Content-Type', 'application/json'); response.end(JSON.stringify([{ id: 1 }, { id: 2 }]));
läheb
response.json([{ id: 1 }, { id: 2 }]);
Näide: examples/express2.js
-
Lisage ülesande sisestamise võimalus (näide: examples/express3.js).
Päring:
POST /api/tasks HTTP/1.1 Host: localhost:3000 Content-Type: application/json
{ content: "hello" }
Kasutage json-iks teisendamise teeki: app.use(bodyParser.json())
Päringu saatmiseks Postman-ist määrake:
Headers sakk:
Key: Content-type
Value: appliation/json
Body sakk:
valige "raw" ja kirjutage sisuks: { content: "hello" }
Andmete salvestamiseks lisage TaskService-ile meetod saveTask(task).
- Lisage üldine vigade töötluse meetod (näide: examples/express6.js) Vea korral tuleb tagastada json: { error: error.toString() }
Lahendused: https://youtu.be/-xjR7lhvqY4