首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@fastify/swagger返回404

@fastify/swagger返回404
EN

Stack Overflow用户
提问于 2022-11-14 21:18:10
回答 1查看 69关注 0票数 0

我试图让@ Fastify /swagger在一个基本的Fastify项目上工作,但是每次我尝试进入swagger页面时,它都会以404的形式返回。

server.js:

代码语言:javascript
复制
const fastify = require('fastify')({logger: true})
const PORT = 3000

fastify.register(require('./routes/items'));

fastify.register(require('@fastify/swagger'), {
    routePrefix: '/documentation',
    exposeRoute: true,
    swagger: {
        info: {
            title: { title: 'test'}
        }
    }
})

    
const start = async() => {
    try {
        await fastify.listen(PORT)
        fastify.swagger()
    } catch (error) {
        fastify.log.error(error)
        process.exit(1)
    }
}

start()

访问127.0.0.1/文件

在我的package.json中,我有以下依赖项:

代码语言:javascript
复制
  "dependencies": {
    "@fastify/swagger": "^8.1.0",
    "@fastify/view": "^7.1.2",
    "fastify": "^4.9.2",
    "uuid": "^9.0.0"
  }

返回的错误是::“路由获取:/文档未找到”:{"statusCode":404}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-15 08:44:49

它丢失了@fastify/swagger包。

此外,加载顺序很重要。server.js中的路由需要在需要大摇大摆之后才能到达,如下所示:

代码语言:javascript
复制
fastify.register(require('@fastify/swagger'), {})
fastify.register(require('@fastify/swagger-ui'), {
    routePrefix: '/docs',
    uiConfig: {
        docExpansion: 'full',
        deepLinking: false
    },
    uiHooks: {
        onRequest: function (request, reply, next) { next() },
        preHandler: function (request, reply, next) { next() }
    },
    staticCSP: true,
    transformStaticCSP: (header) => header,
    transformSpecification: (swaggerObject, request, reply) => { return swaggerObject },
    transformSpecificationClone: true
})

fastify.register(require('./routes/item'))

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74437941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档