我在使用symfony上传文件时,提示:Unable to guess the mime type as no guessers are available read more
flush完entity后及时更新entity
有时候我们会需要在controller中录入数据,并及时的返回实体,但有些实体字段并没有被及时更新,这该怎么办呢? read more
RESTful API 状态码
HTTP 状态码
1xx(信息类)
状态码 含义
100 Continue 收到请求头,客户端可继续发送请求体
101 Switching Protocols 切换协议(如升级 WebSocket)
(REST 一般很少用 1xx)
2xx(成功类)
状态码 含义
200 OK 请求成功,返回资源
201 Created 资源已成功创建(常用:POST 创建用户等)
202 Accepted 请求已接受但未处理完(异步任务)
204 No Content 请求成功,但无返回内容(如删除成功)
3xx(重定向类)
状态码 含义
301 Moved Permanently 永久重定向
302 Found 临时重定向
304 Not Modified 资源未修改(通常配合缓存 ETag 使用)
REST 中不常用 301/302,但经常用 304。
4xx(客户端错误类)
状态码 含义
400 Bad Request 请求参数格式错误、不符合规则
401 Unauthorized 未认证(缺少 Token)
403 Forbidden 已认证但无权限
404 Not Found 请求的资源不存在
405 Method Not Allowed 使用了错误的 HTTP 方法
409 Conflict 请求冲突(资源唯一性冲突最常用)
410 Gone 资源已被永久删除
422 Unprocessable Entity 参数语义错误(常用于字段校验不通过)
429 Too Many Requests 请求次数过多,已被限流
5xx(服务器错误类)
状态码 含义
500 Internal Server Error 服务器内部错误
501 Not Implemented 尚未实现
503 Service Unavailable 服务不可用(维护或过载)
// ✅ 行业通用规范 – 完整业务状态码定义
const BusinessCodes = {
// ==================== 成功状态码 (0-99) ====================
SUCCESS: 0, // 通用成功
SUCCESS_WITH_DATA: 1, // 成功并有数据
SUCCESS_CREATED: 2, // 创建成功
SUCCESS_UPDATED: 3, // 更新成功
SUCCESS_DELETED: 4, // 删除成功
SUCCESS_PROCESSING: 5, // 处理中(异步操作)
SUCCESS_NO_CONTENT: 6, // 成功无返回内容
SUCCESS_PARTIAL: 7, // 部分成功(批量操作)
// ==================== 客户端错误 (1000-1999) ====================
// 通用客户端错误 (1000-1099)
BAD_REQUEST: 1000, // 通用客户端错误
VALIDATION_ERROR: 1001, // 数据验证失败
MISSING_REQUIRED_FIELD: 1002, // 缺少必填字段
INVALID_FORMAT: 1003, // 数据格式错误
INVALID_TYPE: 1004, // 数据类型错误
DATA_TOO_LARGE: 1005, // 数据过大
DATA_TOO_SMALL: 1006, // 数据过小
INVALID_RANGE: 1007, // 数据范围无效
UNSUPPORTED_MEDIA_TYPE: 1008, // 不支持的媒体类型
// 认证授权错误 (1100-1199)
UNAUTHORIZED: 1100, // 未认证
FORBIDDEN: 1101, // 无权限访问
TOKEN_EXPIRED: 1102, // Token过期
TOKEN_INVALID: 1103, // Token无效
TOKEN_MISSING: 1104, // Token缺失
SESSION_EXPIRED: 1105, // 会话过期
INVALID_CREDENTIALS: 1106, // 凭证无效
ACCOUNT_LOCKED: 1107, // 账户锁定
ACCOUNT_DISABLED: 1108, // 账户禁用
INSUFFICIENT_PERMISSIONS: 1109, // 权限不足
RATE_LIMIT_EXCEEDED: 1110, // 请求频率超限
IP_BLOCKED: 1111, // IP被封锁
DEVICE_BLOCKED: 1112, // 设备被封锁
// 资源错误 (1200-1299)
NOT_FOUND: 1200, // 资源不存在
RESOURCE_NOT_FOUND: 1201, // 特定资源不存在
ENDPOINT_NOT_FOUND: 1202, // 接口不存在
METHOD_NOT_ALLOWED: 1203, // 方法不允许
RESOURCE_CONFLICT: 1204, // 资源冲突
RESOURCE_EXPIRED: 1205, // 资源过期
RESOURCE_UNAVAILABLE: 1206, // 资源不可用
// 文件上传错误 (1300-1399)
FILE_TOO_LARGE: 1300, // 文件过大
UNSUPPORTED_FILE_TYPE: 1301, // 不支持的文件类型
FILE_CORRUPTED: 1302, // 文件损坏
UPLOAD_FAILED: 1303, // 上传失败
DOWNLOAD_FAILED: 1304, // 下载失败
// 请求限制错误 (1400-1499)
TOO_MANY_REQUESTS: 1400, // 请求过多
REQUEST_TIMEOUT: 1401, // 请求超时
PAYLOAD_TOO_LARGE: 1402, // 请求体过大
REQUEST_TOO_LONG: 1403, // 请求过长
// ==================== 业务逻辑错误 (2000-2999) ====================
// 唯一性约束错误 (2000-2099)
DUPLICATE_ENTRY: 2000, // 重复数据(通用)
DUPLICATE_USERNAME: 2001, // 用户名重复
DUPLICATE_EMAIL: 2002, // 邮箱重复
DUPLICATE_PHONE: 2003, // 手机号重复
DUPLICATE_SKU: 2004, // SKU重复
DUPLICATE_CODE: 2005, // 编码重复
DUPLICATE_ID_CARD: 2006, // 身份证重复
DUPLICATE_ORDER: 2007, // 订单重复
DUPLICATE_REQUEST: 2008, // 重复请求
// 业务规则违反 (2100-2199)
BUSINESS_RULE_VIOLATION: 2100, // 业务规则违反
INSUFFICIENT_BALANCE: 2101, // 余额不足
INSUFFICIENT_STOCK: 2102, // 库存不足
QUOTA_EXCEEDED: 2103, // 配额超限
LIMIT_EXCEEDED: 2104, // 限制超限
OPERATION_NOT_ALLOWED: 2105, // 操作不允许
STATUS_CONFLICT: 2106, // 状态冲突
PRECONDITION_FAILED: 2107, // 前置条件失败
TRANSACTION_FAILED: 2108, // 交易失败
PAYMENT_FAILED: 2109, // 支付失败
REFUND_FAILED: 2110, // 退款失败
ORDER_EXPIRED: 2111, // 订单过期
COUPON_INVALID: 2112, // 优惠券无效
PROMOTION_EXPIRED: 2113, // 活动过期
ACTIVITY_ENDED: 2114, // 活动已结束
SIGNUP_CLOSED: 2115, // 报名截止
// 验证相关错误 (2200-2299)
VERIFICATION_FAILED: 2200, // 验证失败
CAPTCHA_ERROR: 2201, // 验证码错误
CAPTCHA_EXPIRED: 2202, // 验证码过期
SMS_VERIFICATION_FAILED: 2203, // 短信验证失败
EMAIL_VERIFICATION_FAILED: 2204, // 邮箱验证失败
PASSWORD_TOO_WEAK: 2205, // 密码强度不足
PASSWORD_MISMATCH: 2206, // 密码不匹配
OLD_PASSWORD_INCORRECT: 2207, // 旧密码错误
// 用户操作错误 (2300-2399)
USER_NOT_FOUND: 2300, // 用户不存在
USER_SUSPENDED: 2301, // 用户被暂停
USER_EXISTS: 2302, // 用户已存在
FOLLOW_SELF_NOT_ALLOWED: 2303, // 不能关注自己
BLOCK_SELF_NOT_ALLOWED: 2304, // 不能屏蔽自己
ALREADY_FOLLOWED: 2305, // 已关注
ALREADY_BLOCKED: 2306, // 已屏蔽
ALREADY_LIKED: 2307, // 已点赞
ALREADY_REPORTED: 2308, // 已举报
// 内容相关错误 (2400-2499)
CONTENT_NOT_FOUND: 2400, // 内容不存在
CONTENT_DELETED: 2401, // 内容已删除
CONTENT_BLOCKED: 2402, // 内容被屏蔽
CONTENT_SENSITIVE: 2403, // 内容包含敏感信息
CONTENT_DUPLICATE: 2404, // 内容重复
COMMENT_CLOSED: 2405, // 评论已关闭
REVIEW_REQUIRED: 2406, // 需要审核
// 关系相关错误 (2500-2599)
RELATIONSHIP_EXISTS: 2500, // 关系已存在
RELATIONSHIP_NOT_FOUND: 2501, // 关系不存在
CANNOT_ADD_SELF: 2502, // 不能添加自己
CANNOT_REMOVE_SELF: 2503, // 不能移除自己
FRIEND_REQUEST_PENDING: 2504, // 好友请求待处理
FRIEND_REQUEST_REJECTED: 2505, // 好友请求被拒绝
// 第三方服务业务错误 (2600-2699)
EXTERNAL_BIZ_ERROR: 2600, // 外部业务错误
PAYMENT_GATEWAY_ERROR: 2601, // 支付网关错误
SMS_SEND_FAILED: 2602, // 短信发送失败
EMAIL_SEND_FAILED: 2603, // 邮件发送失败
OSS_UPLOAD_FAILED: 2604, // 对象存储上传失败
AI_SERVICE_ERROR: 2605, // AI服务错误
// ==================== 系统错误 (5000-5999) ====================
// 通用系统错误 (5000-5099)
INTERNAL_ERROR: 5000, // 系统内部错误
EXTERNAL_SERVICE_ERROR: 5001, // 第三方服务错误
DATABASE_ERROR: 5002, // 数据库错误
CACHE_ERROR: 5003, // 缓存错误
QUEUE_ERROR: 5004, // 队列错误
CONFIGURATION_ERROR: 5005, // 配置错误
FEATURE_NOT_IMPLEMENTED: 5006, // 功能未实现
SERVICE_UNAVAILABLE: 5007, // 服务不可用
MAINTENANCE_MODE: 5008, // 维护模式
DEPRECATED_API: 5009, // 接口已废弃
// 数据库相关错误 (5100-5199)
DATABASE_CONNECTION_ERROR: 5100, // 数据库连接错误
DATABASE_TIMEOUT: 5101, // 数据库超时
DATABASE_DEADLOCK: 5102, // 数据库死锁
CONSTRAINT_VIOLATION: 5103, // 约束违反
TRANSACTION_ROLLBACK: 5104, // 事务回滚
DATA_INTEGRITY_ERROR: 5105, // 数据完整性错误
// 网络相关错误 (5200-5299)
NETWORK_ERROR: 5200, // 网络错误
DNS_RESOLUTION_FAILED: 5201, // DNS解析失败
CONNECTION_TIMEOUT: 5202, // 连接超时
SSL_ERROR: 5203, // SSL错误
PROXY_ERROR: 5204, // 代理错误
CDN_ERROR: 5205, // CDN错误
// 文件系统错误 (5300-5399)
FILE_SYSTEM_ERROR: 5300, // 文件系统错误
DISK_FULL: 5301, // 磁盘空间不足
PERMISSION_DENIED: 5302, // 文件权限拒绝
FILE_NOT_FOUND: 5303, // 文件不存在
DIRECTORY_NOT_FOUND: 5304, // 目录不存在
// 内存和性能错误 (5400-5499)
OUT_OF_MEMORY: 5400, // 内存不足
PROCESS_LIMIT_EXCEEDED: 5401, // 进程限制超限
MEMORY_ALLOCATION_FAILED: 5402, // 内存分配失败
PERFORMANCE_DEGRADATION: 5403, // 性能下降
// 安全和加密错误 (5500-5599)
ENCRYPTION_ERROR: 5500, // 加密错误
DECRYPTION_ERROR: 5501, // 解密错误
HASH_FAILED: 5502, // 哈希失败
SIGNATURE_INVALID: 5503, // 签名无效
CERTIFICATE_EXPIRED: 5504, // 证书过期
SECURITY_VIOLATION: 5505, // 安全违规
// 监控和日志错误 (5600-5699)
LOGGING_ERROR: 5600, // 日志记录错误
MONITORING_ERROR: 5601, // 监控错误
METRICS_ERROR: 5602, // 指标错误
ALERT_FAILED: 5603, // 告警失败
// 部署和环境错误 (5700-5799)
ENVIRONMENT_ERROR: 5700, // 环境错误
DEPLOYMENT_ERROR: 5701, // 部署错误
VERSION_MISMATCH: 5702, // 版本不匹配
MIGRATION_FAILED: 5703, // 数据迁移失败
BACKUP_FAILED: 5704, // 备份失败
RESTORE_FAILED: 5705, // 恢复失败
// ==================== 警告状态码 (8000-8999) ====================
WARNING: 8000, // 通用警告
DEPRECATION_WARNING: 8001, // 废弃警告
RATE_LIMIT_WARNING: 8002, // 频率限制警告
QUOTA_WARNING: 8003, // 配额警告
PERFORMANCE_WARNING: 8004, // 性能警告
SECURITY_WARNING: 8005, // 安全警告
DATA_CONSISTENCY_WARNING: 8006, // 数据一致性警告
}
nginx禁止未绑定域名访问
nginx 只允许某些域名访问 其他一律不能访问 ,是怎么写的? read more
mysql添加用户、删除用户与授权
mysql -uroot -proot
MySQL5.7 mysql.user表没有password字段改 authentication_string; read more
symfony中使用doctrine创建索引
因为数据库中有30万条数据,所以为了让查询更加快速,减少消耗,所以不得不建立索引来完成,相应在symfony中如何操作呢? read more
MySQL中的索引详讲
一、什么是索引?为什么要建立索引?
索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。 read more
Nginx性能调优之buffer参数设置
打开Nginx的error.log日志文件,发现很多warn的警告错误,提示: read more
(总结)Nginx配置文件nginx.conf中文详解
Nginx使用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把Nginx的主要配置参数说明分享一下,也参考了一些网络的内容,这篇是目前最完整的Nginx配置参数中文说明了。更详细的模块参数请参考:http://wiki.nginx.org/Main read more
504 Gateway Time-out问题
原因一:
由于nginx默认的fastcgi进程响应的缓冲区太小造成 read more
