当前位置: 首页 > news >正文

建筑网站制作江苏市场监督管理局电话

建筑网站制作,江苏市场监督管理局电话,傻瓜式自助建站系统,公司网上推广平台“ 阅读本文大概需要 3 分钟。 ”有一个非常简单的需求#xff1a;编写一个 HTTP 接口#xff0c;使用 POST 方式发送一个 JSON 字符串#xff0c;接口里面读取发送上来的参数#xff0c;对其中某个参数进行处理#xff0c;并返回。如果我们使用 Flask 来开发这个接口编写一个 HTTP 接口使用 POST 方式发送一个 JSON 字符串接口里面读取发送上来的参数对其中某个参数进行处理并返回。如果我们使用 Flask 来开发这个接口那么代码是这样的from flask import Flask, requestapp  Flask(__name__)app.route(/insert, methods[POST])def insert():    info  request.json    name  info[name]    age  info[age]    age_after_10_years  age  10    msg  f此人名叫{name}10年后此人年龄{age_after_10_years}    return {success: True, msg: msg}代码看起来已经很简洁了。我们用requests发个请求看看效果如下图所示看起来没什么问题。现在我搞点破坏把age字段改成字符串再运行一下不出所料报错了。现在我们把age字段改回数字但是直接移除name字段又报错了。为了防止用户不按规矩提交数据我们必须在接口里面做好各种异常数据的判断。于是增加判断以后的代码变得复杂了app.route(/insert, methods[POST])def insert():    info  request.json    name  info.get(name, )    ifnot name:        return {success: False, msg: name 参数不可省略不可为空}    age  info.get(age, 0)    ifnot isinstance(age, int):        return {success: False, msg: age参数不是数字}    age_after_10_years  age  10    msg  f此人名叫{name}10年后此人年龄{age_after_10_years}    return {success: True, msg: msg}看来用 Flask虽然能让你用很短的代码写出一个能工作的项目。但要写成一个可以正常使用的项目还是需要你自己写更多代码。下面我们来看一下现代化的 web 框架FastApi能把这个工程简化到什么程度from fastapi import FastAPIfrom pydantic import BaseModelapp  FastAPI()class People(BaseModel):    name: str    age: int    address: str    salary: floatapp.post(/insert)def insert(people: People):    age_after_10_years  people.age  10    msg  f此人名字叫做{people.name}十年后此人年龄{age_after_10_years}    return {success: True, msg: msg}我们还是使用 requests 发一条信息给 FastApi 开发的 HTTP 接口。对于正常数据正常使用现在我们把age字段改成字符串返回友好的提示信息告诉我类型错误age 字段不是 integer。我们再试一试把name字段去掉返回友好信息提示值错误name字段丢失。整个过程中对类型的检查全都由 FastApi 自己完成。我们省下来很多时间。我用了 Flask 四年但在使用了 5 分钟 FastApi 以后我决定以后不再使用 Flask 了。回过头来我们好好介绍一下 FastApi。使用pip或者pipenv即可安装 FastApipip install fastapipipenv install fastapi安装完成以后我们来完成第一个 APIfrom fastapi import FastAPIapp  FastAPI()app.get(/)def index():    return {message: 你已经正确创建 FastApi 服务}这里的写法跟 Flask 几乎一致。只不过在 Flask 中我们定义路由的装饰器为app.route(/)。而这里写为app.get(/)写好代码以后我们需要使用uvicorn来运行 FastApi。首先使用pip或者pipenv安装uvicornpip install uvicornpipenv install uvicorn然后执行命令uvicorn main:app --reload其中main表示我们的代码文件为main.pyapp表示我们初始化的 FastApi 对象的名字。--reload参数表示在修改了代码以后立即生效不需要重启。运行命令以后我们访问http://127.0.0.1:8000可以看到接口已经正确返回了 JSON 格式的数据那么如何定义一个带参数的 GET 方法呢我们再写一段代码app.get(/query/{uid})def query(uid):    msg  f你查询的 uid 为{uid}    return {success: True, msg: msg}写好代码以后我们直接在浏览器里面访问新的地址可以看到修改已经生效了如下图所示如果想限定 uid 只能是数字不能是字符串怎么办呢你只需要多加 4 个字符app.get(/query/{uid})def query(uid: int):    msg  f你查询的 uid 为{uid}    return {success: True, msg: msg}对函数query的参数使用类型标注标注为 int 类型。现在我们再来访问一下接口当 query 后面的参数不是整数时正常报错了。我们再来看一下本文一开始的 POST 方法。在使用 Flask 的时候我们需要手动验证用户 POST 提交上来的数据是什么格式的字段对不对。但使用 FastApi 的时候我们只需要类型标注就能解决所有问题。首先我们导入from pydantic import BaseModel然后继承BaseModel实现我们允许 POST 方法提交上来的数据字段和格式from pydantic import BaseModelapp  FastAPI()class People(BaseModel):    name: str    age: int    address: str    salary: floatPeople这个类通过类型标注指定了它里面的 4 个字段和他们的类型。现在我们来实现 POST 方法app.post(/insert)def insert(people: People):    age_after_10_years  people.age  10    msg  f此人名字叫做{people.name}十年后此人年龄{age_after_10_years}    return {success: True, msg: msg}insert函数的参数people通过类型标注指定为People类型。当我们使用 POST 方式提交数据时FastApi 自动会以People中定义的字段为基准来校验数据发现不对就返回报错信息。除了开发接口变得非常简单外FastApi 还会自动帮我们生成接口文档。大家访问http://127.0.0.1:8000/docs可以看到接口文档已经自动生成好了这个接口不仅能看而且直接就能在接口页面修改样例数据发送请求现场测试以上是对 FastApi 的极简介绍。有兴趣的同学可以查阅它的官方文档。最后告诉大家FastApi 是一个异步 Web 框架它的速度非常非常非常快。远远超过 Flask。FastApi 是最快的几个 Web 框架之一。速度可以匹敌 Golang 写的接口。详细的对比可以看https://www.techempower.com/benchmarks/#sectiontestrunid7464e520-0dc2-473d-bd34-dbdfd7e85911hwphtestquerylzijzen-7推荐阅读1精品连载丨安卓 App 逆向课程一之环境配置2GitHub 热榜一款居家旅行必备的看片神器3教你轻松截获 Selenium 中的 Ajax 数据4‍‍如何用一条命令将网页转成电脑 App好文和朋友一起看~
http://www.zqtcl.cn/news/761446/

相关文章:

  • 企业网站策划实训Wordpress 主题简化
  • 做网站点击挣钱不兰州工程建设信息网站
  • 网站说服力 营销...免费看片网站
  • 深圳招聘网站大全制作网站软件下载
  • 网站建设说明哈尔滨网站建设渠道
  • 一 网站建设管理基本情况设计类的网站
  • wordpress产品编辑如何优化wordpress
  • 网站后台更新缓存失败网站平台规划方案
  • 网站开发需求分析主要内容saas建站系统是怎么实现的
  • 做qq头像的网站有哪些wordpress怎么部署到虚拟linux服务器
  • 征求网站建设企业网站建设word
  • 市民服务中心网站建设小型公众号开发
  • 服装网站建设策划书论文基层建设刊物网站
  • 网站建设合同技术开发合同范本wordpress备份和还原
  • 物流信息平台网站建设一流本科专业建设点网站
  • 天猫网站建设的目标是什么装潢设计软件
  • 电商网站首页图片网站功能模块建设
  • 邮件服务器是不是网站服务器黄江网站建设公司
  • 科技部网站方案网页设计网站设计欣赏
  • 自贡建设机械网站网站策划与运营课程认知
  • 公司做网站该注意哪些廊坊seo
  • 网站开发目录高尔夫 wordpress
  • 三只松鼠网站建设不做网站做百家号
  • 石家庄网站关键词推广淘宝网站建设设计模板
  • 马鞍山什么房产网站做的好网速
  • 国外做兼职网站软件园二期做网站的公司
  • 淘客网站备案教程网页设计与制作教程十四五规划
  • 哪些网站可以做外部锚文本网页设计个人简历怎么做
  • 福州网站营销北京著名网站建设公司
  • 导购网站开发 源码wordpress 获取总页数