如何优雅的封装Restful接口

2018-04-28  本文已影响0人  逸筱幻

现在后台的接口广泛的采用了Restful风格。本文给出了一种基于装饰器的实现。简化了后台接口的编写

主要思路
接口协议

接口返回格式为

下面为代码实现
from functools import wraps
import json

def response(func):
  @wraps(func)
  def wrapper(*args, **kwargs):
    try:
      result = func(*args, **kwargs)
    except RuntimeError as info:
      return json.dumps({
        "code": 200,
        "data": None,
        "msg": info.args[0]
      })
    else:
      return json.dumps({
        "code": 100,
        "data": result,
        "msg": ""
      })
  return wrapper
用例
@response
def demo():
  if True:#正常返回
    return {"name": "1"}
  else:#异常情况
    raise RuntimeError('100001')
上一篇下一篇

猜你喜欢

热点阅读