1. from flask import Flask
    2. app = Flask(__name__)
    3. @app.route('/a')
    4. def hello_world1(): #注意接收函数名不要重复
    5. return 'Hello, World!'
    6. @app.route('/b/')
    7. def hello_world2(): #注意接收函数名不要重复
    8. return 'Thank you'
    9. if __name__ == '__main__':
    10. app.run(host='0.0.0.0',port=3100)

    一.详细解释
    1.创建一个该类的实例

    1. app = Flask(__name__)

    2.然后我们使用 route() 装饰器来告诉 Flask 触发函数的 URL

    1. @app.route('/')

    3.函数名称被用于生成相关联的 URL 。函数最后返回需要在用户浏览器中显示的信息

    1. def hello_world():
    2. return 'Hello, World!'

    4.缺省设置是运行服务器后,只有你自己的电脑可以使用服务,只监听 127.0.0.1。 所以要加上 —host=0.0.0.0 ,这行代码告诉你的操作系统监听所有公开的 IP

    1. if __name__ == '__main__':
    2. app.run(host='0.0.0.0',port=3100)

    二.URL构成
    域名(Host,这里我们在本地运行,使用本地机ip:127.0.0.1) + 端口 + 路径
    image.png
    三.接收数据

    1. @app.route('/',methods=['GET'])
    2. @app.route('/',methods=['GET', 'POST'])
    3. @app.route('/',methods=['POST'])

    接收不同的数据
    先要记得引入request模块

    1. from flask import Flask,request
    2. import json
    1. #接收URL params,用于接收通过URL传参的参数
    2. request.args
    3. request.args.get("canshu1")
    4. #接收Headers
    5. request.headers
    6. request.headers.get("xxx")
    7. #接收 multipart/form-data 或 application/x-www-from-urlencoded 格式的数据
    8. request.form
    9. request.form.get("xxx")
    10. #接收 application/json 格式的数据
    11. request.data
    12. json.loads(request.data)
    1. #获取接收数据
    2. from flask import Flask,request
    3. import json
    4. app = Flask(__name__)
    5. @app.route('/',methods=['GET', 'POST'])
    6. def hello_world():
    7. print(request.args)
    8. print(request.headers)
    9. print(request.form)
    10. print(request.data)
    11. print(json.loads(request.data))
    12. return 'success',200
    13. if __name__ == '__main__':
    14. app.run(host='0.0.0.0',port=3100)

    四.返回数据
    接口最常见的请求格式有 json/application 及 x-www-form-urlencoded

    1. import json
    2. import urllib.parse
    3. # 返回文本
    4. return 'Hello, World!'
    5. # 返回Json格式的数据
    6. a = json.dumps({"aaa":123})
    7. return a
    8. # 返回x-www-from-urlencoded格式的数据
    9. return urllib.parse.urlencode({"aaa":123})
    10. # 不需要返回数据,只需要返回状态码
    11. return 'success',200

    开发中使用了flask框架,接口有用到flask_jsonify处理json,结果,请求python接口响应结果,拿到的中文都显示unicode编码,预期显示UTF-8编码。配置app.config[‘JSON_AS_ASCII’] = False app.config[‘JSONIFY_MIMETYPE’] = “application/json;charset=utf-8”

    1. if __name__ == '__main__':
    2. #unicode编码转utf-8
    3. app.config['JSON_AS_ASCII'] = False
    4. app.config['JSONIFY_MINTYPE']="application/json;charset=utf-8"
    5. app.run(host='0.0.0.0',port=3100)