内容类型解析器

Fastify 只支持 'application/json' 内容类型,如果需要支持不同的内容类型,可以使用 addContentTypeParser API。

注意,不能为 'application/json' 添加自定义内容类型解析器。

和其他API一样,addContentTypeParser 被封装在它被声明的范围内。这意味着如果把它定义在根作用域,它将会在任何地方都适用。而如果将它声明到一个插件中,它将只会在该插件的作用范围内可用。

使用方法

fastify.addContentTypeParser('application/jsoff', function (req, done) {
  jsoffParser(req, function (err, body) {
    done(err || body)
  })
})

你也可以使用 hasContentTypeParser API来检查特定的内容解析器是否已经存在。

捕获所有请求

在某些情况下,你需要捕获所有请求,而不管其内容类型如何。使用 Fastify,您只需添加 * 内容类型即可。

fastify.addContentTypeParser('*', function (req, done) {
  var data = ''
  req.on('data', chunk => { data += chunk })
  req.on('end', () => {
    done(data)
  })
})

以这种方式,所有没有相应内容类型解析器的请求将由指定的函数处理。

记住'application/json' 内容类型总是会被 Fastify 处理。

results matching ""

    No results matching ""