代码之家  ›  专栏  ›  技术社区  ›  balexandre

挑剔的招摇过市没有跟上我的动态路线

  •  0
  • balexandre  · 技术社区  · 3 年前

    很长一段时间以来,我一直是ExpressJs的粉丝,但在Youtube的一段视频中,我偶然发现了Fastify,并想试一试

    我正在努力 fastify-swagger 插件的工作方式正如我所认为的那样——动态设置从每个路由中获取模式,但我肯定遗漏了一些东西

    这是我的 test repo 跑步后,我的路线都没有出现

    我的插件设置 is the default one

    但我看到的只是

    enter image description here

    我在read me中读到,由于OpenAPI规范,一些属性,比如 description 是强制性的,或者不会接路线,但我添加了一条路线,但仍然没有接,我也添加了 tags 想知道这是否也是强制性的,但没有。。。

    有人知道我缺了什么吗?这一定是一件简单的事情,但最近几天让我感到困惑

    0 回复  |  直到 3 年前
        1
  •  4
  •   Jazzy    2 年前

    我遇到了同样的问题,并按照第一个用法示例逐行解决了它: https://github.com/fastify/fastify-swagger#usage

    const fastify = require('fastify')()
    
    (async () => {
      // set up swagger
      await fastify.register(require('@fastify/swagger'), {
        ...swagger config
      });
    
      // define all your routes
    
      // then call these
      await fastify.ready()
      fastify.swagger()
    })();
    
        2
  •  2
  •   Damilola    2 年前

    考虑一下插件的加载顺序,在进行fastify-swagger之前需要注册路由。如果先来的是挑剔的招摇过市,它不会发现任何路线。

        3
  •  0
  •   plumbn    3 年前

    我在我的项目中遇到了这个问题。就我而言,我使用 fastify-plugin 。查看fastify-swagger的源代码,它似乎依赖于一个钩子来监听 onRoute 事件来检测路由。我认为封装可能会干扰插件接收事件的能力。

    推荐文章