简单的api实现以及动态函数调用

实现一个简单的api功能,环境python2.7

  1. 请求方法:curl http://ip:8000/?name={api中的方法名}|python -m json.tool
  2. 只需编写api的方法即可
  3. 详情参考官方文档:https://www.python.org/dev/peps/pep-0333/
#!/usr/bin/env python
#coding:utf-8
import json
import api
from wsgiref.util import setup_testing_defaults
from wsgiref.simple_server import make_server

def simple_app(environ, start_response):
    setup_testing_defaults(environ)

    status = '200 OK'
    headers = [('Content-type', 'text/plain;charset=UTF-8')]

    start_response(status, headers)
    
    params = parse_qs(environ['QUERY_STRING'])
    name = params.get('name')[0]
    #判断api中是否有name的方法,有就调用并返回
    if hasattr('api',name):
          dic = eval('api.'+name)()
    else:
          dic = {'resdec':'No method %s'%(name)}
    return [json.dumps(dic)]        
if __name__ == '__main__':
    httpd = make_server('', 8000, simple_app)
    print "Serving on port 8000..."
    httpd.serve_forever()

 来自官网 《PEP 333 -- Python Web Server Gateway Interface v1.0》的忠告,这个接口就是玩玩,不要作为生产使用!!

Note: although we refer to it as an "application" object, this should not be construed to mean that application developers will use WSGI as a web programming API! It is assumed that application developers will continue to use existing, high-level framework services to develop their applications. WSGI is a tool for framework and server developers, and is not intended to directly support application developers.

 

转载于:https://www.cnblogs.com/chbo/p/10172964.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值