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

盛泽网站建设怎么做类似淘宝的网站

盛泽网站建设,怎么做类似淘宝的网站,黄冈网站建设收费,开网站建设需要办什么手续文章目录 01 前言02 路径传参方式添加API Key2.1 完整代码2.2 请求示例2.3 swagger文档测试 03 请求头Header方式传入API Key#xff08;推荐#xff09;3.1 完整代码3.2 请求示例3.3 swagger文档测试 01 前言 FastAPI#xff0c;如其名所示#xff0c;是一个极为高效的框… 文章目录 01 前言02 路径传参方式添加API Key2.1 完整代码2.2 请求示例2.3 swagger文档测试 03 请求头Header方式传入API Key推荐3.1 完整代码3.2 请求示例3.3 swagger文档测试 01 前言 FastAPI如其名所示是一个极为高效的框架特别适用于构建 API 后端服务。而在与其他网站的 API 接口进行交互时API Key认证是一种非常普遍的安全机制。典型的例子是ChatGPT的接口我们需要申请一个专属的API Key才能发起有效的请求。 虽然我们可以直接在定义接口时自定义接收参数但这种方式需要在每个接口都增加相同的代码十分不优雅且该方式不支持FastAPI自带的swagger文档友好显示。 本文将介绍在FastAPI框架中如何为我们的后端服务添加API Key认证且使用两种不同的方案实现一种是将 API Key 放在 URL 请求路径中另一种是将 API Key 放在请求头Header中。 02 路径传参方式添加API Key 2.1 完整代码 import uvicorn from fastapi import HTTPException, status, Security, FastAPI from fastapi.security import APIKeyQuery# 可用的API_KEYS列表 API_KEYS [9d207bf0-10f5-4d8f-a479-22ff5aeff8d1, ...]# 创建一个用于解析路径传参的对象 api_key_query APIKeyQuery(nameapi-key, auto_errorFalse)# 定义一个获取请求中的api-key的函数 该函数接收一个上一步创建的对象封装 def get_api_key(api_key: str Security(api_key_query)) - str:if api_key in API_KEYS:return api_keyraise HTTPException(status_codestatus.HTTP_401_UNAUTHORIZED, detailInvalid or missing API Key)app FastAPI()app.get(/public) def public():一个公共接口 无需api-key即可访问return Public Endpoint.# 需要api-key的接口注意接受参数的写法。 app.get(/private) def private(api_key: str Security(get_api_key)):一个私有端点 需要在请求url中传入api-keyreturn fPrivate Endpoint. API Key: {api_key}if __name__ __main__:uvicorn.run(app, host0.0.0.0, port8000)2.2 请求示例 启动应用后可以使用如下请求来访问“私有端点” GET http://localhost:8000/private?api-key9d207bf0-10f5-4d8f-a479-22ff5aeff8d12.3 swagger文档测试 访问接口文档可以看到有很好的支持。 点击Authorize按钮填入api-key这样调用需要认证的接口时就可以自动带上api-key了。 03 请求头Header方式传入API Key推荐 3.1 完整代码 这种方式相对前一种方式会更安全一些推荐。 为请求添加api-key的示例 api-key通过header的方式发送 import uvicorn from fastapi import HTTPException, status, Security, FastAPI from fastapi.security import APIKeyHeader# 可用的API_KEYS列表 API_KEYS [9d207bf0-10f5-4d8f-a479-22ff5aeff8d1, ...]# 创建一个用于解析路径传参的对象 api_key_header APIKeyHeader(nameapi-key, auto_errorFalse)# 定义一个获取请求中的api-key的函数 该函数接收一个上一步创建的对象封装 def get_api_key(api_key: str Security(api_key_header)) - str:if api_key in API_KEYS:return api_keyraise HTTPException(status_codestatus.HTTP_401_UNAUTHORIZED, detailInvalid or missing API Key)app FastAPI()app.get(/public) def public():一个公共接口 无需api-key即可访问return Public Endpoint.# 需要api-key的接口注意接受参数的写法。 app.get(/private) def private(api_key: str Security(get_api_key)):一个私有端点 需要在请求url中传入api-keyreturn fPrivate Endpoint. API Key: {api_key}if __name__ __main__:uvicorn.run(app, host0.0.0.0, port8000)3.2 请求示例 启动应用后你可以使用如下 curl 命令来访问“私有端点” curl -H api-key: 9d207bf0-10f5-4d8f-a479-22ff5aeff8d1 http://localhost:8000/private3.3 swagger文档测试 配置完成一切正常 完
http://www.hkea.cn/news/14521722/

相关文章:

  • 瘦身网站开发目的东莞市住房建设部网站
  • wordpress多站点可视化温州人才网招聘网官网
  • 做甜品网站的需求分析学做网站论坛教学视频下载
  • 北京网站公司制作有网络网站打不开怎么回事
  • 网站效果代码餐饮公司网站模板
  • dw制作一个环保网站模板下载东莞住建局官网
  • 郓城网站建设费用抚州建设工程造价管理站网站
  • 建设银行人力资源系统网站电子商务门户网站的研究与实现
  • 好的设计logo网站论坛详情页模板下载
  • 小说网站怎么做流量吗中国沈阳网站在哪里下载
  • 上海 网站建设商城购物网站建设
  • 做网站用php还是node在线观看免费网站网址
  • 自己的网站怎么做ui设计要会什么
  • 做网站的像素包装设计收费明细
  • 泰国购物网站大全单网站建设
  • 做爰片免费网站视频手机精品网站建设
  • 昆山做网站的公司深圳网站小程序设计开发
  • 怎样做自己网站后台不被攻击自己做网站能赚钱吗
  • 快速建设网站视频教程工业设计属于什么专业类别
  • 浙江建设信息港成绩查询栏百度首页排名优化哪家专业
  • 网站建设实训心得php如何制作个人网页主题是周末愉快
  • 正规代做毕业设计的网站邯郸网页
  • 单仁资讯做网站怎样北京网页设计如何创意
  • 网站建设竞标建一个购物网站需要什么条件
  • 网站打开太慢什么原因比较好的网站开发公司
  • 培训课程网站建设免费的小程序商城
  • 农林网站建设江西机场建设集团网站
  • 电商网站开发分析网站建设工作分解结构词典
  • 网站建设与优化推广的话术乐清联科网站建设
  • 做仿站如何修改网站管理权限wordpress token插件