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 ...
随机推荐
- QT 5.4.1 for Android Ubuntu QtWebView Demo
QT 5.4.1 for Android Ubuntu QtWebView Demo 2015-5-15 目录 一.说明: 二.参考文章: 三.QtWebView Demo在哪里? 四.Qt Crea ...
- 20155117王震宇 2016-2017-2 《Java程序设计》第七周学习总结
教材学习内容总结 时间度量 格林尼治标准时间(GMT):现在GMT已不作为标准时间使用. 世界时(UT):借助观测远方星体跨过子午线而得,受地球自转速度影响. 国际原子时(TAI):铯原子辐射振动幅度 ...
- HihoCoder - 1051:补提交卡
时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho给自己定了一个宏伟的目标:连续100天每天坚持在hihoCoder上提交一个程序.100天过去了,小Ho查看自己的提交 ...
- Nginx访问限制模块limit_conn_zone 和limit_req_zone配置使用
nginx可以通过limit_conn_zone 和limit_req_zone两个组件来对客户端访问目录和文件的访问频率和次数进行限制,另外还可以善用进行服务安全加固,两个模块都能够对客户端访问进行 ...
- MySQL Transaction--RC事务隔离级别下加锁测试
==============================================================================非索引列更新 在读提交的事务隔离级别下,在非 ...
- Oracle C#处理时间类型的Insert
首先如果直接 parm.Value=DateTime.Now; insert into table (TheTime)Value(@parm); 执行sql就会报错 ----------- ...
- SQL——ROW_NUMBER
版权声明:欢迎转载,请注明出处 https://blog.csdn.net/suneqing/article/details/30250193 语法: ROW_NUMBER() OVER(PARTIT ...
- spring 核心思想:AOP 理解
什么是AOP? AOP概念介绍 所谓AOP,即Aspect orientied program,就是面向方面(切面)的编程. 面向切面编程Aspect-Orlented-Programming,即AO ...
- EditorConfig知识点
.editorconfig 该文件定义项目的编码规范,编辑器的行为会与.editorconfig 文件中定义的一致,并且其优先级比编辑器自身的设置要高,这在多人合作开发项目时十分有用而且必要. 在哪里 ...
- sklearn的画图
from sklearn.metrics import roc_curve fpr, tpr, thresholds=roc_curve(y_train_5, y_scores) fpr, tpr & ...