【问题标题】:Why can't I create a HEAD route in Hapi?为什么我不能在 Hapi 中创建 HEAD 路线?
【发布时间】:2019-12-21 00:57:59
【问题描述】:

根据文档https://hapijs.com/api/16.0.1#route-configuration,路由方法可能不是“HEAD”类型,但我不明白为什么我不能覆盖该行为。

【问题讨论】:

    标签: hapijs


    【解决方案1】:

    HEAD 路由是使用您定义的每个 GET 路由自动创建的。因此,您几乎没有理由需要自己定义。

    如果您想优化 HEAD 请求的处理,只需检查您的 GET 处理程序的方法,如果是 head,则返回带有正确标头的空响应。这仅适用于一些非常昂贵的 GET 请求,您希望客户端直接使用 HEAD。

    不支持它的主要原因是,我预计很少有开发人员会使用它,但它会为每个 HEAD 请求添加额外的查找。

    这个问题已经解决了on Github

    【讨论】:

      【解决方案2】:

      至于进一步详细说明@Ankh 的响应,您可以查看请求method 属性以缩写 GET 处理程序上的响应:

      const getHandler = (req, h) => {
        // HTTP status 204 -> NO CONTENT
        if (req.method as string === 'head') return h.response().code(204)
      
        // continue the GET handler logic here
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-19
        • 1970-01-01
        • 1970-01-01
        • 2022-08-17
        • 1970-01-01
        • 2011-03-15
        相关资源
        最近更新 更多