[백엔드 개발]flask 응답체 인터페이스 표준화

1609 단어 백엔드 개발
기본 구상:
{"code": 200, "msg": "성공", "데이터":null}
그 중에서 코드는 응답 상태 코드를 대표하고 msg는 결과 정보나 이상 정보를 전달하며 데이터는 응답 데이터를 되돌려 주는 데 사용된다.
# -*- coding: utf-8 -*-#
# Name:         response_body
# Description:  
# Author:       lty
# Date:         2020/6/24
from flask import jsonify


#      :
class ResponseCode(object):
    SUCCESS = 200  #   
    FAIL = -1  #   
    NOT_FOUND = 404  #        
    ERROR = 500

#     :
class ResBody(object):
    """
        
   """

    def __init__(self, data={}, code=ResponseCode.SUCCESS,
                 msg="success"):
        self._data = data
        self._msg = msg
        self._code = code

    def update(self, code=None, data=None, msg=None):
        """
               
       :param code:     
       :param data:     
       :param msg:     
       :return:
       """
        if code is not None:
            self._code = code
        if data is not None:
            self._data = data
        if msg is not None:
            self._msg = msg

    @property
    def body(self):
        """
               
       :return:
       """
        temp = self.__dict__
        temp["data"] = temp.pop("_data")
        temp["msg"] = temp.pop("_msg")
        temp["code"] = temp.pop("_code")
        return jsonify(temp)


class NotFoundException(Exception):
    def __init__(self, ErrorInfo):
        self.errorinfo = ErrorInfo

    def __str__(self):
        return self.errorinfo

좋은 웹페이지 즐겨찾기