# Request और Reply ऑब्जेक्ट — Fastify: High-Performance Node.js APIs बनाना

Source: https://www.skillbyai.com/hi/fastify/ff-request-reply

> request और reply objects से params, queries, headers व bodies पढ़ें और responses भेजें।

## request और reply

`request` आने वाली HTTP request विवरण रखता है (URL, headers, body, params, query)। `reply` response भेजने के लिए methods वाला object है—performance के लिए pooled है।

## Request डेटा पढ़ना

Request object से path params, query strings, headers, और body access करें।

```javascript
fastify.get('/users/:id', async (request, reply) => {
  const { id } = request.params;
  const { filter } = request.query;
  const token = request.headers.authorization;
  
  return { userId: id, filter, hasToken: !!token };
});
```

## Replies भेजना

Object return करें (auto-serialized to JSON) या custom status codes और headers के लिए `reply` methods उपयोग करें।

```javascript
fastify.post('/items', async (request, reply) => {
  // Auto-JSON serialization
  return { id: 1, status: 'created' };
});

fastify.delete('/items/:id', async (request, reply) => {
  // Custom status and location header
  return reply.status(204).send();
});
```

## return या send, दोनों नहीं

async handler में payload `return` करें या `reply.send()` call करें। दोनों करने पर reply पहले ही भेजे जाने का warning आता है।

त्वरित जाँच

**Quiz:** कौन सा एक chain में status code set करके JSON भेजता है?

- [x] `reply.code(201).send({id: 1})`
- [ ] `request.code(201)`
- [ ] `reply.json(201)`

*Answer:* `reply.code(201).send({id: 1})`. `reply.code()` reply ही लौटाता है, इसलिए `.send()` chain हो जाता है।
