fastify / fastify-express

Express compatibility layer for Fastify

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Swagger MIME type ('application/json') is not a supported stylesheet MIME type

amitkTechno opened this issue · comments

Prerequisites

  • I have written a descriptive issue title
  • I have searched existing issues to ensure the issue has not already been raised

Issue

Node.js version

14.21.2

Npm version

6.14.17

Fastify version

4.24.3

Description

I am using @fastify/express 2.3.0 and @fastify/http-proxy 9.3.0 and swagger-ui-express 4.3.0 and swagger-jsdoc 6.1.0. Trying to configure swagger, but css and js link is not working. .

Configuration

const express = require('express');
const router = express.Router();
const swaggerUI = require('swagger-ui-express');
const swaggerDocument = require('./public/uploads/swagger.json');
const serveStatic = require('serve-static');

async function startOrigin() {
  const server = Fastify({
    logger: false,
  })
  
  server.register(require('@fastify/express')).after(() => {
    server.use(express.urlencoded({ extended: true })); // for Postman x-www-form-urlencoded
    server.use(express.json());
    server.use(serveStatic(path.join(__dirname, '/public')));
    server.use('/api', router);

  });
  router.get('/', swaggerUI.serve, swaggerUI.setup(swaggerDocument));

  await server.listen();
  return server;
}
async function startProxy(upstream) {
  const proxyServer = Fastify({
    logger: false,
  });
  proxyServer.register(require('@fastify/multipart'));
  proxyServer.register(proxy, {
    upstream,
    undici: true,
    replyOptions: {
      rewriteRequestHeaders: (req, headers) => {
        return {
          ...headers,
          authorization: 'Bearer token' 
        };
      }
    }
  });
  await proxyServer.listen({ port: process.env.PORT || '3000' });
  return proxyServer;
}

async function run() {
  const origin = await startOrigin();

  const upstream = `http://localhost:${origin.server.address().port}`;

  console.log('origin started', upstream);

  const proxy = await startProxy(upstream);

  console.log('proxy started', `http://localhost:${proxy.server.address().port}`);
}

run();

am I doing wrong something. Please check this.

Response

image

Thanks in advance

@mcollina I fixed that issue. Sorry for interruption.