[S11L2] Routing Express Flashcards

1
Q

Was ist Routing?

A
  • Eines der Hauptfeatures von Express
  • Mapped einkommende Requests zu den entsprechenden handler functions
  • CRUD Operationen auf unserer Server Side Application
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Anhand von welchen Kriterien routed Express?

A
  • Anhand von URL und genutzter HTTP Methode
  • Oft nur eine Route für viele HTTP Methoden
  • Daher ist der Server organisiert und clean code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wie kann man Stringified HTML als Server Response auf HTTP Requests zurücksenden?

A

.send(‘<h1>Contact Form</h1>’)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Auf welchen Wegen kann man Daten an einen Endpoint senden?

A
  • request body Object
  • Key/Value Pair in dem Query String
  • Dynamic Routing/Route Parameters
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was sind Route Parameters?

A
  • Werden genutzt um Informationen über die Ressource die angefragt wird zu senden
  • Oftmals werden ID’s dynamisch in die URL eingefügt

server.delete(‘/hobbits/:id’, (req, res) => {
constr id = req.params.id;

-Hier wird durch den Server für alle ankommenden HTTP Requests mit der Methode DELETE alles nach /hobbits/ auf ID params.id gemapped und zugängig gemacht

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was sind Query Strings?

A
  • HTTP ist stateless
  • Man kann daher einfach Daten in der URL durch Query String kodieren
  • www.sascha.de/user?key=value&anotherkey=anothervalue
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wie kann man im Express Server auf Query String zugreifen?

A
server.get('/hobbits', (req, res) => {
//query string parameter werden zu req.query geadded
const sortField = req.query.sortby || 'id';
const hobbits = [
{ id: 1, 
name: 'Samwise Gamgee'
},
{ id: 2,
name: 'Sascha Majewsky'
}
];
const response = hobbits.sort((a,b) => a[sortField] < b[sortField] ? -1 : 1);
res.status(200).json(response);
});
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie kann man im Express Server auf den Request Body zugreifen?

A

-Wird oft bei POST und PUT genutzt, da Infos mitgeschickt werden müssen

let nextID =3;

server.post('/hobbits', (req, res) => {
const hobbit = req.body;
hobbit.id = nextId++;
hobbits.push(hobbit);
res.status(201).json(hobbits);
});
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist REST?

A

-REpresentation State Transfer
-1999 erfunden
-Eine Empfehlung und kein Standard
-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was sind die Prinzipien von REST?

A
  • Auf alles was man zugreift sind Resourcen
  • Alle Resourcen sind via spezifischen URI verfügbar
  • Resourcen können mehrere Repräsentationen haben
  • Die Kommunikation geschieht über stateless HTTP protocol
  • Management der Resourcen wird per HTTP Methoden ausgeführt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was sind die Einschränkungen von REST?

A

-Alles ist Client - Server based
(Der Client ist die Web App, die Daten haben will und der Server ist der Server, welche Zugriff auf Daten besitzt)
-Viele Clients können auf einen Server zugreifen
-Responses sind Cacheable und verbessern damit die Performance
-Uniform Interfaces (Routes) sind alle gleich ansprechbar und erfordern nicht verschiedene Logiken zum nutzen
-Layered Systems, welche zwischen dem Client und Server sitzen können (Logging; authentication, Middleware)
-Code-On-Demand Sprache über JSON, so dass beide Parteien wissen wenn ein Request erfolgreich ist erhalte ich Code, welchen ich verarbeiten kann

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist der Express Router?

A
  • Wachsende Applikationen brauchen mehr Resources und mehr Routes
  • Wenn die server.js Datei zu komplex wird, sollte man sie modular in kleinere aufteilen
  • Hierbei können userRouter, todoRouter etc erstellt werrden und für jeden die baseRoute /users/ oder /todos/ angegeben werden. Innerhalb der neuen js Datei kann dann auf die Route / verwiesen werden, da diese bereits an /users/ gemapped ist
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie müssen REST Routes strukturiert sein?

A

/listAllHubs GET /hubs
/createHub POST /hubs
/updateHub PUT /hubs
/listHubMessages GET /hubs/:id/messages
/listPostsComments GET /posts/id/comments
/countPostComments GET posts/:id/comments with an extra propoerty { comments, count }

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie exportiert man in Node.js?

A
  • JavaScript Files im Browser können einander sehen, da sie im Global Space definiert sind
  • In Node sind Dateien self contained

-In Node muss man Dateien so exportieren:

module.exports = {
find,
findById
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wie sind Query Strings für HTTP Requests aufgebaut?

A
  • Domain
  • ?
  • resource=id
  • &nextResource=id

http://localhost:5000/hubs?limit=3&page=2&sortby=name&sortdir=desc

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was sind die Bros?

A

-Try und Catch

17
Q

Was sind die Homies?

A

-Req und Res

18
Q

Was ist der Squad?

A

-Async und await