You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 13:20:32