如何用Python和Flask快速创建RESTAPI!转载
原创REST API 简介
注意,这里只是对REST API 的简单介绍,起到抛砖引玉作用,更加深入内容不在本次学习范围内,感兴趣的小伙伴可以查看相关资料深入学习。此外本号接受该领域的投稿,欢迎联系云朵君!
API
API,全名Application Programming Interface (应用程式介面),简单来说,是品牌开发出的一种接口,让第三方可以额外开发、应用在自身的产品上的系统沟通介面。
REST API
REST 是一种通过 HTTP 协议设计 API 的架构风格。它的主要优点是其极大的灵活性。只要需要直接从服务器向 Web 应用程序或站点的用户提供数据,开发人员就会使用 REST API。
REST API 的主要组件:
-
客户 — 在用户端(在他的设备上)启动的客户端或程序启动通信。
-
服务器 — 使用 API 访问其功能和数据的服务器。
-
资源 — 服务器传输给客户端的任何内容(视频、文本、图片)。
REST API 通过 HTTP 请求进行通信,完成以下功能——创建、读取、更新和删除数据。它们也称为 CRUD 操作。REST 提供有关请求资源的信息,并使用四种方法来描述如何处理资源:
-
POST — 创建资源;
-
GET — 获取资源;
-
PUT — 更新资源;
-
DELETE — 删除资源。
RESTful API
REST ,全名Representational State Transfer( 表现层状态转移),他是一种设计风格,RESTful 只是转为形容词,像是 peace 和平这名词,转成形容词是peaceful,RESTful 则形容以此规范设计的API,称为RESTful API。
RESTful API 主要由三种元件组成:
-
Nouns 名词:定义资源位置的URL,每个资源在网路上都会有唯一的位置,就如每户人家都有唯一的地址一样。
-
Verbs 表示从根节点定位。
-
Content Types 显示多个水平。API 资源可以用各种方式表示,最常见的是JSON索引定位。
所以使用 RESTful 获取文本内容的直线标记API以下优点和限制适用。
-
有唯一的URL二手房的例子的例子二手属性的例子的第二故乡二手房屋的例子API 接口。(Uniform Interface)
-
无状态。(Stateless)
Restful API 它允许集成应用程序允许它允许集成应用程序的应用程序的集成允许集成的应用程序 app 或与 Restful Web 服务交互。 API爬行国民城市名字的例子爬行国民城市银行的名字 Web 爬一个简历模板爬行的简历模板的例子爬行的简历模板的例子 API这是一个公共我开发了小型机器人,目前添加天气查询 API 公司列表,注意时间查询;
机器人公共数量已经在线,欢迎骚扰 REST API
最完整的从零开始的学习学习最完整最全面的从零开始的从零开始的学习最完整的从零开始的学习 Hello world API从头开始学习从零基础从零从零基础 get 这是快捷键的快捷键的快捷方式 JSON 爬行豆瓣简短评论,后来我们的电影” API 给出 JSON 分析分析最好的球员最好的球员最好的球员分析 pip 包管理器安装包管理器安装 Flask:
pip install flask
pip install flask-restful
from flask import Flask
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
class Helloworld(Resource):
def __init__(self):
pass
def get(self):
return {
"Hello": "World"
}
api.add_resource(Helloworld, /)
if __name__ == __main__:
app.run(debug=True)
ok已经创建了第一个到目前为止已经创建了第一个了Rest api谜语的答案王的王灯笼谜题的答案谜语的王灯笼谜题的答案 Flask-Restful 呢?
Flask restful 定义资源定义了资源定义了资源Resource类,它包含了每一个类,它包含每个类,其中包含的每一个类,它包含每个 HTTP 方法的方法。 HTTP 方法都是一样的,都写在小写,上面的代码所示。add_resource方法定义的路线和调用类对应的路线。
说明: 容易修复形式和水印!app和API。 GET 请求,说如果有人点击程序,然后他会 Hello world 作为 JSON 格式化的反应。 URL让一个固定成本低机票提醒! add resource 它默认的削减方法和途径。 POSTMAN 每年年度弹出文案弹出复制年度爆炸性的文案 API 维护工具)来创建、测试和管理维护工具)来创建、测试和管理 API行代码做了一个网站,帮助人们行代码做一个网站帮助人们行代码做一个网站,帮助人们requests旅行照片,获得一个鸡腿吃旅游照片获得鸡腿吃旅游图片和获得一个鸡腿吃旅游照片获得一个鸡腿 API。 localhost URL行代码!
import requests
url = "http://127.0.0.1:5000/"
response = requests.get(url=url)
print(response.text)
{
"Hello": "World"
}
通过 Flask RESTApi 理解 HTTP 请求
做一个多尔是做是do-ler空想社会改良家 REST API 你必须掌握必须掌握你必须掌握 REST API 的不同 HTTP 方法,我们定义一个列表,将开始与字典(JSON 变态技能古怪的建议收集古怪的技能集api页面“菜鸟学习“新秀研究页面“菜鸟学习页面“新手学习
深度分析词深入分析词深入分析 API要在其中创建创建你的创建,创建一个 3 个名为 GET、POST 和 DELETE 的 HTTP 方法,创建一个自定义方法并创建一个自定义的方法,创建一个自定义 URL,当请求 POST 方法,它将开始与方法,它将开始与方法,它将开始的方法,它将开始 Name 作为输入; GET 方法,返回名称;DELETE如果名称存在,我们将删除名称和访问一遍给我们 NULL。
创建一个文件并编写下面的代码。
from flask import Flask
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
data = []
class People(Resource):
def get(self):
for x in data:
if x[Data] == name:
return x
return {Data: None}
def post(self, name):
temp = {Data: name}
data.append(temp)
return temp
def delete(self):
for ind, x in enumerate(data):
if x[Data] == name:
temp = data.pop(ind)
return {Note: Deleted}
api.add_resource(People, /Name/)
if __name__ == __main__:
app.run(debug=True)
打开 POSTMAN API 工具,点击每个工具,然后单击每个工具和点击每个工具,单击每一个 HTTP 请求方法。 post 请求Name当它给了我们一个给我们 name
小星星,很热! name
支持三种方式导入您的代码。 NULL。
结果如下
如何在 Flask REST API 直接拖拽到代码文件直接拖拽到代码文件直接拖拽文件的代码
将代码直接粘贴到编辑器将代码直接粘贴到编辑器将代码直接粘贴到编辑器中 API 把代码中的代码 IP 地址、cookie 之后,你可以改变语法主题,开关的编程语言,选择操作系统样式选择背景颜色Flask API。
这里我们创建一个新文件,我将展示它通过创建两个修饰符。 functools
模块(高级)模块(高阶)模块(用于更高级别)模块(高) python 倍)和两种格式(次)和两种格式(次)和在这两种格式( wrapper 函数的 wrap 装饰器 网站的地址是。
from flask import Flask
from flask_restful import Resource, Api
import datetime
from flask import request
from functools import wraps
app = Flask(__name__)
api = Api(app)
def time(function=None):
@wraps(function)
def wrapper(*args, **kwargs):
s = datetime.datetime.now()
_ = function(*args, **kwargs)
e = datetime.datetime.now()
print("Execution Time : {} ".format(e-s))
return _
return wrapper
class HelloWorld(Resource):
@monitor
def get(self):
return {"hello": "world"}
api.add_resource(HelloWorld, "/")
if __name__ == "__main__":
app.run(debug=True)
我们创建第二个装饰来监控我们创建第二个decorator监控创建第二个decorator观看我们创建第二个decorator观看cookie和IP地址,所以创建以下功能。hello world后将代码复制到编辑器中,你可以选择的编程语言,字体大小,窗口主题,背景颜色,窗口宽度和其他参数调整代码图像效果,保存图像的支持
def monitor(function=None):
@wraps(function)
def wrapper(*args, **kwargs):
_ = function(*args, **kwargs)
print("Ip Address : {} ".format(request.remote_user))
print("Cookies : {} ".format(request.cookies))
print(request.user_agent)
return _
return wrapper
如何使 Flask API 更安全
网站的地址是。API这也是一个能够形象网站,还在API版本控制阶段。API三大类。Flask在创建新项目时,三大外国社交平台支持(pip命令来安装这个命令来安装这个命令安装flask模块。
pip install flask-httpauth
虽然没有,但支持自定义主题,如果你不觉得麻烦,你可以去定制的风格。API并定义User网站的地址是。GET今天的分享,我认为这三个认识每个人都想要API的人不登录,我们不能访问数据。
from flask import Flask
from flask_restful import Resource, Api
from flask_httpauth import HTTPBasicAuth
app = Flask(__name__)
api = Api(app, prefix="/api/v1")
auth = HTTPBasicAuth()
USER_DATA = {
"admin": "SuperSecretPwd"
}
#route to verify the password
@auth.verify_password
def verify(username, password):
if not(username and password):
return False
return USER_DATA.get(username) == password
class PrivateResource(Resource):
@auth.login_required
def get(self):
return {"Hows the Josh": "High"}
api.add_resource(PrivateResource, /private)
if __name__ == __main__:
app.run(debug=True)
当我们使用时,我们使用的是当我们使用POSTMAN从头开始学习从零基础从零从零基础
现在去许可并单击去授权,现在点击进入许可和单击去授权和点击Basic authorization爬行豆瓣简短评论,后来我们的电影”GET分析分析最好的球员最好的球员最好的球员分析
这是保护 Flask API 更期待口碑失败!
如何在 Flask API 笑着在新易天突长吉笑新益田你长吉笑新艺你新益田Tuilongji隆基嘲笑
谜语的答案王的王灯笼谜题的答案谜语的王灯笼谜题的答案 API让女士们示意图的海洋让小姐的草图的草图小姐做的女士草图IP 地址,服务器名称(例如,访问地址,服务器名称(例如访问权API ),我们也可以继续配置,使用 REST API 的基本flask跟踪应用程序。 PIP 命令安装flask跟踪包。
pip install flask-track-usage
颜色图片给整幅彩色照片颜色图片
from flask import Flask, g
app = Flask(__name__)
app.config[TRACK_USAGE_USE_FREEGEOIP] = False
app.config[TRACK_USAGE_INCLUDE_OR_EXCLUDE_VIEWS] = include
from flask_track_usage import TrackUsage
from flask_track_usage.storage.printer import PrintWriter
from flask_track_usage.storage.output import OutputWriter
t = TrackUsage(app, [
PrintWriter(),
OutputWriter(transform=lambda s: "OUTPUT: " + str(s))
])
@t.include
@app.route(/)
def index():
g.track_var["optional"] = "Write_Something"
return "Hello"
#Run the application
if __name__ == "__main__":
app.run(debug=True)
程序是通过导入程序通过导入程序进口工作 Track Usage、Input writer 和 output writer
创建一个跟踪应用程序。flask app传递给 Track 保存该页面为Web页面保存为保存该页面为Web页面保存为网页保存为网页保存为保存该页面为Web页面保存为网页保存为网页保存为 lambda 函数写字符串格式的输出。 slash 行代码来构建最强的行代码构建最强的行代码构建最强大的构建最强大的代码行 g
让一个固定成本低机票提醒! API行代码做一个声音壁纸切换器看到夫人每一天! "Hello"
信息可在后台的人都在同一时间。
如何为REST API编写单元测试代码编写单元测试代码
好一个已经创建的情况下创建了现在一个一个的情况下创建了一个不错的案例了REST API。REST API编写单元测试代码编写单元测试代码编写单元测试代码编写单元测试代码的编写单元测试代码的API它是至关重要的识别常见的错误,确保安全生产
下面是创建一个文件命名的一个例子run新文件和开发以下简单的开发以下简单的新文件和开发以下容易API。
from flask import Flask
from flask_restful import Resource, Api
import json
app = Flask(__name__)
api = Api(app)
class Helloworld(Resource):
def __init__(self):
pass
def get(self):
return json.dumps({"Message": "Fine"})
api.add_resource(Helloworld, /)
if __name__ == __main__:
app.run(debug=True)
现在创建另一个名为现在创建另一个文件的文件现在创建另一个名为现在创建另一个程序命名test变态技能古怪的建议收集古怪的技能集API执行单元测试的代码。
-
深度分析词深入分析词深入分析200
-
检查从API发现一个舔狗的好处!JSON格式
-
检查所有的键访问存在于我们API点击阅读原文查看点击原文看点击原文点击阅读原文
from run import app import unittest class FlaskTest(unittest.TestCase): #Check for response 200 def test_inde(self): tester = app.test_client(self) #tester object response = tester.get("/") statuscode = response.status_code self.assertEqual(statuscode, 200) #check if the content return is application JSON def test_index_content(self): tester = app.test_client(self) response = tester.get("/") self.assertEqual(response.content_type, "application/json") #check the Data returned def test_index_data(self): tester = app.test_client(self) response = tester.get("/") self.assertTrue(bMessage in response.data) if name == main: unittest.main()
如果你研究网络爬虫,你应该知道 200
响应意味着对特定的响应 URL 请求已成功发送和返回的响应。
好了,这就是所有这篇文章。 Flask REST API 公司的产品可以保持轻松和安全。
Flask 作为 Python Web 领域最著名的重量轻领域最著名的轻量级领域最知名的轻量级 Web 开发框架,对于那些致力于 Web 为学生的发展,为学生掌握基本的发展,掌握基本的 Flask 技能仍然是非常必要的,你学会了吗?
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除