Декоратор ответов Fastify: методы и примеры изменения ответов

«Декоратор ответа Fastify» относится к функции веб-инфраструктуры Fastify, которая позволяет вам изменять объект ответа в обработчиках маршрутов Fastify с помощью декораторов. Вот некоторые часто используемые методы и примеры кода:

  1. code: устанавливает код состояния HTTP ответа.

    fastify.get('/', (request, reply) => {
    reply.code(200).send('OK');
    });
  2. header: устанавливает один заголовок в ответе.

    fastify.get('/', (request, reply) => {
    reply.header('Content-Type', 'application/json').send({ message: 'Hello' });
    });
  3. заголовки: устанавливает в ответе несколько заголовков.

    fastify.get('/', (request, reply) => {
    reply.headers({
    'Content-Type': 'application/json',
    'Cache-Control': 'no-cache'
    }).send({ message: 'Hello' });
    });
  4. send: отправляет ответ с заданной полезной нагрузкой.

    fastify.get('/', (request, reply) => {
    reply.send({ message: 'Hello' });
    });
  5. type: устанавливает заголовок Content-Typeответа.

    fastify.get('/', (request, reply) => {
    reply.type('application/json').send({ message: 'Hello' });
    });
  6. перенаправление: перенаправляет запрос на другой URL-адрес.

    fastify.get('/old-url', (request, reply) => {
    reply.redirect('/new-url');
    });
  7. сериализатор: сериализует полезные данные перед отправкой.

    fastify.get('/', (request, reply) => {
    reply.serializer((payload) => JSON.stringify({ data: payload })).send({ message: 'Hello' });
    });
  8. headerSent: проверяет, отправлены ли заголовки ответа.

    fastify.get('/', (request, reply) => {
    if (reply.headerSent) {
    console.log('Headers already sent');
    } else {
    reply.send({ message: 'Hello' });
    }
    });