Python自定义状态码枚举类
在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自定义状态码枚举类的更多相关文章
- 紫色飞猪的研发之旅--06go自定义状态码
在实际开发中,需要前后端需要协商状态码,状态码用于后端返前端时使用.在一个团队中,定义的状态码讲道理应该是一致的,项目开始的起始阶段状态码应该是定义了个七七八八的,随着功能的叠加而不断增加.此系列将围 ...
- Spring HTTP状态码枚举值对照表
使用Spring时总去查HTTP状态码对应的Spring枚举值的那篇代码,有点不方便,把代码拷贝出来统一替换格式做成了表格,放在这里,方便大家使用.(枚举类为HttpStatus) 枚举值 HTTP状 ...
- JAVA 自定义状态码
返回信息类(ResponseInfo): public class ResponseInfo { public static final String Status = "status&qu ...
- python HTTP 状态码
404 Not Found 在HTTP请求的路径无法匹配任何RequestHandler类相对应的模式时返回404(Not Found)响应码. 400 Bad Request 如果你调用了一个没有默 ...
- Http状态码枚举(摘自 Microsoft 程序集 System.dll)
// 摘要: // 包含为 HTTP 定义的状态代码的值. public enum HttpStatusCode { // 摘要: // 等效于 HTTP 状态 100. System.Net.Htt ...
- Django API 自定义状态码
class BaseResponse(object): def __init__(self): self.code = 1000 self.data = None self.error = None ...
- Django自定义状态码
class BaseResponse: def __init__(self): self.code = 1000 self.data = None self.error = None @propert ...
- springboot自定义http反馈状态码
最近在开发一些http server类型程序,通过spring boot构建一些web程序,这些web程序之间通过http进行数据访问.共享,如下图: 假设现在client发起一次保存数据的请求到se ...
- 利用python完成多个url状态码的检测
import re import requests import json from threading import Thread,Lock from concurrent.futures impo ...
随机推荐
- Tomcat下JSP、Servlet和JavaBean环境的配置
经常看到jsp的初学者问tomcat下如何配置jsp.servlet和bean的问题,于是总结了一下如何tomcat下配置jsp.servlet和ben,希望对那些初学者有所帮助. 第一步:下载j2s ...
- poj-1170 (状态压缩形式下的完全背包)
#include <iostream> #include <algorithm> #include <cstring> using namespace std; ; ...
- 【idea】如何将idea的项目路径设置成代码目录和配置文件目录
一:创建相应的目录 二.提升目录的等级
- POJ_2299 Ultra-QuickSort【归并排序】
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u013912596/article/details/35655703 题目链接:http://poj ...
- Effective C++:条款23:宁以non-member、non-friend替换member函数
(一) 有个class来表示网页浏览器: class WebBrowser { public: void clearChache(); void clearHistory(); void remove ...
- 修改Nginx的header伪装服务器
有时候为了伪装自己的真实服务器环境.不像让对方知道自己的webserver真实环境,就不得不修改我们的webserer软件了!今天看了一下baidu.com的webserver感觉像是nginx修改的 ...
- C#之设计模式之六大原则
一.单一职责原则 原文链接:http://blog.csdn.net/lovelion/article/details/7536542 单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小. ...
- JZ2440 裸机驱动 第12章 I2C接口
本章目标: 了解I2C总线协议: 掌握S3C2410/S3C2440中I2C接口的使用方法: 12.1 I2C总线协议及硬件介绍 12.1.1 I2C总线协议 1 I2C总线的概念 2 I2C总线的信 ...
- SpringCloud初体验:七、gateway 网关服务如何做token验证
说说背景:假如有一个用户服在用户登录后,生成一个token给到客户端,用户每次请求时都需要这个token,于是每次都会在网关 gateway 校验,校验通过后网关从token中解析出userId,然后 ...
- 【python】实例-把两个无规则的序列连接成一个序列,并删除重复的元素,新序列按照升序排序
list_one=[3,6,2,17,7,33,11,7] list_two=[1,2,3,7,4,2,17,33,11] list_new=list_one+list_two list=[] i=0 ...