python编写get,post服务接口

wylc123 1年前 ⋅ 2137 阅读

1. post接口

#!usr/bin/env python
# -*- coding: utf-8 -*-
#!文件类型: python
#!创建时间: 2020/7/23 19:54
#!作者: SongBin
#!文件名称: api.py
#!简介: post API接口编写

import json
import re
from wsgiref.simple_server import make_server


# 定义函数,参数是函数的两个参数,都是python本身定义的,默认就行了。
def application(environ, start_response):
    # 定义文件请求的类型和当前请求成功的code
    start_response('200 OK', [('Content-Type', 'application/json')])
    # environ是当前请求的所有数据,包括Header和URL,body
    request_body = environ["wsgi.input"].read(int(environ.get("CONTENT_LENGTH", 0)))
    json_str = request_body.decode('utf-8')  # byte 转 str
    json_str = re.sub('\'', '\"', json_str)  # 单引号转双引号, json.loads 必须使用双引号
    json_dict = json.loads(json_str)  # (注意:key值必须双引号)
    print(json_dict["name"])
    print(json_dict["age"])
    return [json.dumps(json_dict)]

if __name__ == "__main__":
    port = 6088
    httpd = make_server("0.0.0.0", port, application)
    print("serving http on port {0}...".format(str(port)))
    httpd.serve_forever()

postman 接口验证

问题:

解决方法:

2. get接口

# coding:utf-8
 
import json
from urlparse import parse_qs
from wsgiref.simple_server import make_server
 
 
# 定义函数,参数是函数的两个参数,都是python本身定义的,默认就行了。
def application(environ, start_response):
 # 定义文件请求的类型和当前请求成功的code
 start_response('200 OK', [('Content-Type', 'text/html')])
 # environ是当前请求的所有数据,包括Header和URL,body,这里只涉及到get
 # 获取当前get请求的所有数据,返回是string类型
 params = parse_qs(environ['QUERY_STRING'])
 # 获取get中key为name的值
 name = params.get('name', [''])[0]
 no = params.get('no', [''])[0]
 
 # 组成一个数组,数组中只有一个字典
 dic = {'name': name, 'no': no}
 
 return [json.dumps(dic)]
 
 
if __name__ == "__main__":
 port = 5088
 httpd = make_server("0.0.0.0", port, application)
 print "serving http on port {0}...".format(str(port))
 httpd.serve_forever(

接口验证:

更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: