介绍
在前端开发中,经常需要对请求头中的 Content-Type 进行判断和处理。这时,我们可以使用 @goa/type-is 这个 npm 包。
@goa/type-is 的主要功能是:解析 Content-Type 字符串,判断其是否匹配给定的 mime 类型。
安装
我们可以使用 npm 安装这个包:
npm install @goa/type-is
使用
parse
我们可以使用 parse 方法,解析一个 Content-Type 字符串:
const { parse } = require('@goa/type-is'); const contentType = 'application/json; charset=utf-8'; const result = parse(contentType); console.log(result); // { type: 'application/json', parameters: { charset: 'utf-8' } }
is
is 方法可以比较两个 mime 类型是否匹配:
const { is } = require('@goa/type-is'); const contentType = 'application/json; charset=utf-8'; console.log(is(contentType, ['json'])); // true console.log(is(contentType, ['xml'])); // false
hasBody
判断一个 Content-Type 是否需要请求体:
const { hasBody } = require('@goa/type-is'); const contentType = 'application/json; charset=utf-8'; console.log(hasBody(contentType)); // true const contentType2 = 'text/plain'; console.log(hasBody(contentType2)); // false
getRequestHeader
获取请求头中的 Content-Type,如果不存在则返回 null:
-- -------------------- ---- ------- ----- - ---------------- - - ------------------------ ----- ------- - - --------------- ----------- -------------- -- --------------------------------------- -- ----------- -------------- ----- -------- - --- ---------------------------------------- -- ----
示例
我们来看一个完整的示例,判断请求是否为 JSON 类型:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- - ------ -- - - ------------------------ ----------------------- ---- -- - ----- ----------- - ----------------------------------- -- --------------------- ---------- - --- ---- - --- -------------- ------- -- - ---- -- ------ --- ------------- -- -- - ----- -------- - ----------------- ---------------------- ---------------- -- ------- --- - ---- - ---------------- -- --- ------- - ----------------
总结
@goa/type-is 是一个非常有用的 npm 包,可以帮助我们在前端开发中快速解析和匹配 Content-Type。希望本篇文章对大家有帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6006733e890c4f72775835f1