React TypeScript项目枚举优化:Content-Type值的处理方案
关于
application/json的优化处理方案 完全没必要专门为application/json新建枚举,根据你的使用场景,有几种更灵活的处理方式:
1. 直接定义常量(最常用的轻量方案)
如果只是偶尔用到JSON这个MIME类型,单独定义个常量比枚举更简洁:
export const MIME_JSON = 'application/json'; // 使用时 const isValid = response.headers.get(ResponseHeader.CONTENT_TYPE)?.includes(MIME_JSON);
这种方式没有枚举的额外冗余,简单直接,适合单一或少量MIME类型复用的场景。
2. 新增MIME类型枚举(多类型管理场景)
如果后续还会用到其他MIME类型(比如表单、HTML等),可以单独建一个MimeType枚举统一管理:
export enum MimeType { JSON = 'application/json', FORM_URLENCODED = 'application/x-www-form-urlencoded', TEXT_HTML = 'text/html', } // 使用时 const isValid = response.headers.get(ResponseHeader.CONTENT_TYPE)?.includes(MimeType.JSON);
这种方式能让所有MIME类型的定义集中在一起,方便维护和统一修改。
3. 封装工具函数(频繁判断场景)
如果你的项目里经常需要判断响应是否为JSON格式,把逻辑封装成工具函数更省心:
import { ResponseHeader } from './your-enum-file-path'; export function isJsonResponse(response: Response): boolean { const contentType = response.headers.get(ResponseHeader.CONTENT_TYPE); // 可兼容带编码的情况,比如application/json; charset=utf-8 return contentType?.startsWith('application/json') ?? false; } // 使用时 const isValid = isJsonResponse(response);
把判断逻辑抽出来后,后续要调整判断规则,只需要改这一个函数就行,不用到处找代码修改。
总结:根据实际需求选就行——偶尔用选常量,多类型管理选枚举,频繁判断选工具函数。
内容的提问来源于stack exchange,提问作者meez
相关产品推荐
相关产品推荐

