在Java里很容易做到自定义有状态码和状态说明的枚举类例如:

public enum MyStatus {
NOT_FOUND(404, "Required resource is not found"); private final int code;
private final String msg; private MyStatus (int code, String msg) {
this.code= code;
this.msg = msg;
} public int getCode() {
return this.code;
} public String getMsg() {
return this.msg;
} public static String getMsgByCode(int code){
for(MyStatus status: MyStatus.values()){
if(status.getCode() == code){
return status.message;
}
}
return null;
} }

但是在Python里没找到类似的可以这样做的方法,于是就利用了字典,不知道对不对,所以贴出来供参考和改进:

# -*- coding: utf-8 -*
"""状态码枚举类 author: Jill usage:
结构为:错误枚举名-错误码code-错误说明message
# 打印状态码信息
code = Status.OK.get_code()
print("code:", code)
# 打印状态码说明信息
msg = Status.OK.get_msg()
print("msg:", msg)
"""
from enum import Enum, unique @unique
class Status(Enum):
OK = {"": "成功"}
SUCCESS = {"": "成功"}
FAIL = {"": "失败"}
PARAM_IS_NULL = {"": "请求参数为空"}
PARAM_ILLEGAL = {"": "请求参数非法"}
JSON_PARSE_FAIL = {"": "JSON转换失败"}
REPEATED_COMMIT = {"": "重复提交"}
SQL_ERROR = {"": "数据库异常"}
NOT_FOUND = {"": "无记录"}
NETWORK_ERROR = {"": "网络异常"}
UNKNOWN_ERROR = {"": "未知异常"} def get_code(self):
"""
根据枚举名称取状态码code
:return: 状态码code
"""
return list(self.value.keys())[0] def get_msg(self):
"""
根据枚举名称取状态说明message
:return: 状态说明message
"""
return list(self.value.values())[0] if __name__ == '__main__':
# 打印状态码信息
code = Status.OK.get_code()
print("code:", code)
# 打印状态码说明信息
msg = Status.OK.get_msg()
print("msg:", msg) print() # 遍历枚举
for status in Status:
print(status.name, ":", status.value)

Python自定义状态码枚举类的更多相关文章

  1. 紫色飞猪的研发之旅--06go自定义状态码

    在实际开发中,需要前后端需要协商状态码,状态码用于后端返前端时使用.在一个团队中,定义的状态码讲道理应该是一致的,项目开始的起始阶段状态码应该是定义了个七七八八的,随着功能的叠加而不断增加.此系列将围 ...

  2. Spring HTTP状态码枚举值对照表

    使用Spring时总去查HTTP状态码对应的Spring枚举值的那篇代码,有点不方便,把代码拷贝出来统一替换格式做成了表格,放在这里,方便大家使用.(枚举类为HttpStatus) 枚举值 HTTP状 ...

  3. JAVA 自定义状态码

    返回信息类(ResponseInfo): public class ResponseInfo { public static final String Status = "status&qu ...

  4. python HTTP 状态码

    404 Not Found 在HTTP请求的路径无法匹配任何RequestHandler类相对应的模式时返回404(Not Found)响应码. 400 Bad Request 如果你调用了一个没有默 ...

  5. Http状态码枚举(摘自 Microsoft 程序集 System.dll)

    // 摘要: // 包含为 HTTP 定义的状态代码的值. public enum HttpStatusCode { // 摘要: // 等效于 HTTP 状态 100. System.Net.Htt ...

  6. Django API 自定义状态码

    class BaseResponse(object): def __init__(self): self.code = 1000 self.data = None self.error = None ...

  7. Django自定义状态码

    class BaseResponse: def __init__(self): self.code = 1000 self.data = None self.error = None @propert ...

  8. springboot自定义http反馈状态码

    最近在开发一些http server类型程序,通过spring boot构建一些web程序,这些web程序之间通过http进行数据访问.共享,如下图: 假设现在client发起一次保存数据的请求到se ...

  9. 利用python完成多个url状态码的检测

    import re import requests import json from threading import Thread,Lock from concurrent.futures impo ...

随机推荐

  1. ubuntu18.04虚拟机突然不能上网问题解决办法

    周末在家啃书学docker,win10上装的虚拟机,ubuntu18.04,突然执行apt-get update报错,域名无法解析,怀疑是dns文件有问题,折腾了很久,各种百度,修改dns文件,仍然报 ...

  2. L5负载均衡

    L5负载均衡组件的功能职责 L5的功能特征如下: 名字服务:以SID(由模块ID和命令字ID组成)为关键字,通过SID取得真正的IP和端口地址,使得IP和端口配置对调用者透明,运维变更配置更方便: 负 ...

  3. hive 创建orc表

    orc表 创建具备ACID及Transactions的表 这里的表需要具备下面几个条件:  1. 必须以 ORC 格式存储  2. 必须分 bucket,且不能 sort  3. 必须显式声明tran ...

  4. dbt macro 说明

    macro是SQL的片段,可以像模型中的函数一样调用.macro可以在模型之间重复使用SQL,以符合DRY(不要重复自己)的工程原理. 此外,共享包可以公开您可以在自己的dbt项目中使用的macro. ...

  5. java后台调用url

    版权声明:本文为博主牟云飞原创文章,未经博主同意不得转载. https://blog.csdn.net/myfmyfmyfmyf/article/details/32690757 QXOutStrea ...

  6. Excel 从字符串中提取日期值

    因为工作需要,Excel 表中有一串字符,需要将字符里的日期提取出,并转成日期值. 需要转成如下格式: 可使用以下公式. =DATEVALUE(TEXT(MID(I2,1,4)+1&" ...

  7. 【转】每天一个linux命令(53):route命令

    原文网址:http://www.cnblogs.com/peida/archive/2013/03/05/2943698.html Linux系统的route命令用于显示和操作IP路由表(show / ...

  8. MapReduce – 基本思路之推荐引擎

    理解MapReduce关键两个步骤: 首先是构想出结构的数据结构,这种数据结构可以支撑你的业务分析使用:是要理解这种模式的处理元素. 第二步,分析原始数据的结构是怎样的: 第三步,基于原始数据结构以及 ...

  9. Apache Spark 内存管理详解

    在spark里面,内存管理有两块组成,一部分是JVM的堆内内存(on-heap memory),这部分内存是通过spark dirver参数executor-memory以及spark.executo ...

  10. 使用scrapy框架爬取自己的博文

    scrapy框架是个比较简单易用基于python的爬虫框架,http://scrapy-chs.readthedocs.org/zh_CN/latest/ 这个是不错的中文文档 几个比较重要的部分: ...