Performance: HATEOAS concept overview
HATEOAS affects API response size and client-server interaction speed by embedding navigational links in responses.
Jump into concepts and practice - no test required
res.json({ data: userData, links: { self: '/users/123', posts: '/users/123/posts' } });res.json({ data: userData });| Pattern | Payload Size | Network Requests | Client Parsing | Verdict |
|---|---|---|---|---|
| No HATEOAS links | Smaller | More requests | Less parsing | [OK] Good |
| With HATEOAS links | Larger | Fewer requests | More parsing | [!] OK |
app.get('/books/:id', (req, res) => {
const book = { id: req.params.id, title: 'Learn Express' };
res.json({
data: book,
links: [
{ rel: 'self', href: `/books/${book.id}` },
{ rel: 'author', href: `/authors/123` }
]
});
});app.get('/items/:id', (req, res) => {
const item = { id: req.params.id, name: 'Item A' };
res.json({
data: item,
links: {
rel: 'self',
href: `/items/${item.id}`
}
});
});