Flask 是一个轻量级 web 框架,自由、灵活、可扩展性强。Flask 本身相当于一个内核,大部分功能都需要扩展第三方库。 Flask 框架有多“轻量”呢,之前写过一篇 Django实现restful api 的文章,基于 Django 框架实现的,有兴趣的同学可以做下比较。在实现简单的 api 方面, Flask 框架只需一个 .py 文件就能搞定,很简洁很优雅。

1.安装 Flask

pip3 install flask

2.看下 Flask 项目目录,很简洁吧!本文不涉及 web 前端,只实现 API ,所以不讲解 static 和 templates 。

3.一个简单、优雅的例子:

from flask import Flask
from flask import request
import json app = Flask(__name__) @app.route('/',methods=['GET'])
def hello_world():
return 'Hello World!' # 设置访问URL:'/plus',methods:允许哪种方式访问
@app.route('/plus',methods=['POST'])
def plus():
data = json.loads(request.data.decode())
x = data['x']
y = data['y'] return json.dumps(x+y) if __name__ == '__main__':
# 设置host,端口8080。threaded=True 代表开启多线程
app.run(host='0.0.0.0', port=8080, threaded=True)

Flask 通过 @app.route 装饰器来配置路由和请求方式,request.data 接收 post 请求参数,因为接收到的是字节流,需要 decode() 解码再转成 json 格式。Flask 可以设置 run() 参数开启 多线程(threaded=True) 和 多进程(processes=4),但如果要上生产环境,还是得用 Nginx 或 Apache 部署,提高性能。

1)运行命令 python app.py ,然后浏览器输入:http://127.0.0.1:8080/

2)测试脚本:

import requests
url = 'http://127.0.0.1:8080/plus' h = requests.post(url=url,json={"x":2,"y":3})
print(h.text)

输出:

测试OK

Flask快速实现简单python接口的更多相关文章

  1. 用flask写一个简单的接口

    用falsk写一个简单的接口,这个接口的数据本来是爬虫爬取的数据,但是今天只写一个flask接口,数据就用测试数据好了. import random import re import time imp ...

  2. SpringBoot结合swagger2快速生成简单的接口文档

    1. pom.xml中加入依赖 <dependency> <groupId>com.spring4all</groupId> <artifactId>s ...

  3. Python Flask 实现移动端应用接口(API)

    引言 目前,Web 应用已形成一种趋势:业务逻辑被越来越多地移到客户端,逐渐完善为一种称为富互联网应用(RIA,rich Internet application)的架构.在 RIA 中,服务器的主要 ...

  4. 如何简单实现接口自动化测试(基于 python) 原博主地址https://blog.csdn.net/gitchat/article/details/77849725

    如何简单实现接口自动化测试(基于 python) 2017年09月05日 11:52:25 阅读数:9904 GitChat 作者:饿了么技术社区 原文:如何简单实现接口自动化测试(基于 python ...

  5. docker&flask快速构建服务接口(二)

    系列其他内容 docker快速创建轻量级的可移植的容器✓ docker&flask快速构建服务接口✓ docker&uwsgi高性能WSGI服务器生产部署必备 docker&g ...

  6. 简单实现接口自动化测试(基于python+unittest)

    简单实现接口自动化测试(基于python+unittest) 简介 本文通过从Postman获取基本的接口测试Code简单的接口测试入手,一步步调整优化接口调用,以及增加基本的结果判断,讲解Pytho ...

  7. 【Python五篇慢慢弹】快速上手学python

    快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...

  8. caffe的python接口学习(1):生成配置文件

    caffe是C++语言写的,可能很多人不太熟悉,因此想用更简单的脚本语言来实现.caffe提供matlab接口和python接口,这两种语言就非常简单,而且非常容易进行可视化,使得学习更加快速,理解更 ...

  9. 【转】Flask快速入门

    迫不及待要开始了吗?本页提供了一个很好的 Flask 介绍,并假定你已经安装好了 Flask.如果没有,请跳转到 安装 章节. 一个最小的应用 一个最小的 Flask 应用看起来会是这样: from ...

随机推荐

  1. springboot 实现 aop

    pom.xml 导入 springboot aop 依赖 <dependency> <groupId>org.springframework.boot</groupId& ...

  2. Linux下yum安装Redis

    检验是否有yum源: [root@localhost ~]# yum install redis 显示没有软件包Redis,安装epel仓库(提供一些RHEL/CentOS默认不提供的软件包). [r ...

  3. HDU 2674

    0 <= N<=10^9 看到这个数据范围知道常规方法肯定做不出来. 不过一想想既然是mod2009,是不是只要其中含有一个2009,那么其结果一定是0了呢 说了这里思路,就是看什么时候出 ...

  4. Python--day61--Django中的app

  5. 扶桑号战列舰 (单调栈+线段树区间更新懒惰标记 or 栈)

    传送门 •题目描述 题目描述 众所周知,一战过后,在世界列强建造超无畏级战列舰的竞争之中,旧日本海军根据“个舰优越主义”,建造了扶桑级战列舰,完工时为当时世界上武装最为强大的舰只. 同时,扶桑号战列舰 ...

  6. @ENABLEWEBSECURITY和@ENABLEWEBMVCSECURITY有什么区别?

    @EnableWebSecurity和@EnableWebMvcSecurity有什么区别? @EnableWebSecurity JavaDoc文档: 将此注释添加到@Configuration类中 ...

  7. H3C 路由表的构成

  8. 【codeforces 749B】Parallelogram is Back

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  9. Struts 2三种方式实现Ajax

    Ajax本质上和普通的HTTP请求是一样的,只不过普通的HTTP请求是给人看的,而Ajax请求是给JS代码去用的. 所以Ajax请求的页面一般比普通的HTTP请求的响应内容还要简单,可能是一个页面的一 ...

  10. Linux 内核端点

    USB 通讯的最基本形式是通过某些称为 端点 的. 一个 USB 端点只能在一个方向承载数 据, 或者从主机到设备(称为输出端点)或者从设备到主机(称为输入端点). 端点可看作一 个单向的管道. 一个 ...