ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

通过创建 swagger UI 使用 FastAPI 访问 XML REST API

2022-09-12 01:31:39  阅读:315  来源: 互联网

标签:XML xml www asmx calculator dneonline REST API com xml发生错误


通过创建 swagger UI 使用 FastAPI 访问 XML REST API

要使用 FastAPI 为 XML Rest API 创建一个招摇的 UI,

我们采用了基于公共 xml 的公共 REST Api: http://www.dneonline.com/calculator.asmx

安装以下 pip 模块

要求
快速API
乌维康

安装后创建一个带有文件名的示例程序: main.py 如下所示以访问 api

主文件

 导入请求  
 导入日志  
 从输入 import 可选  
 从输入导入联盟  
 从 fastapi 导入 FastAPI,响应  
  
 #从枚举导入枚举  
  
  
 从 requests.packages.urllib3.exceptions 导入 InsecureRequestWarning  
 requests.packages.urllib3.disable_warnings(InsecureRequestWarning)  
  
 logging.basicConfig(filename="std.log", format='%(asctime)s %(levelname)s %(message)s', filemode='w')  
  
 记录器=记录.getLogger()  
  
 logger.setLevel(logging.DEBUG)  
  
 def getdata_dneonline(newurl, newfname, x, y):  
 尝试:  
 #url = "http://www.dneonline.com/calculator.asmx"  
 #f = open("addHelper.xml", "rt")  
 f = open(newfname, "rt")  
 有效载荷 = f.read()  
 f.close()  
 标题 = {  
 “内容类型”:“文本/xml”  
 }  
 response = requests.request("POST", newurl, headers=headers, data=payload.format(a=x,b=y))  
 logger.debug(response.text)  
 返回响应.文本  
 例外为 e:  
 打印(“错误:”,e)  
  
  
 #untangle.parse(getdata_dneonline("http://www.dneonline.com/calculator.asmx", "addHelper.xml"))  
  
 应用程序 = FastAPI()  
  
 @app.get('/addition')  
 异步定义计算器_add(inputA:int,inputB:int):  
 #return getdata_dneonline("http://www.dneonline.com/calculator.asmx", "addHelper.xml")  
 返回响应(内容=getdata_dneonline(“http://www.dneonline.com/calculator.asmx”,“addHelpers.xml”,inputA,inputB),media_type="application/xml")  
  
 @app.get('/减法')  
 异步defcalculator_sub(inputA:int,inputB:int):  
 #return getdata_dneonline("http://www.dneonline.com/calculator.asmx", "addHelper.xml")  
 返回响应(内容=getdata_dneonline(“http://www.dneonline.com/calculator.asmx”,“subHelpers.xml”,inputA,inputB),media_type =“application/xml”)  
  
 @app.get('/乘')  
 异步defcalculator_multiply(inputA:int,inputB:int):  
 #return getdata_dneonline("http://www.dneonline.com/calculator.asmx", "addHelper.xml")  
 返回响应(内容=getdata_dneonline(“http://www.dneonline.com/calculator.asmx”,“multipleHelpers.xml”,inputA,inputB),media_type =“application/xml”)  
  
 @app.get('/分区')  
 异步定义计算器_除法(输入A:整数,输入B:整数):  
 #return getdata_dneonline("http://www.dneonline.com/calculator.asmx", "addHelper.xml")  
 返回响应(内容=getdata_dneonline(“http://www.dneonline.com/calculator.asmx”,“divideHelpers.xml”,inputA,inputB),media_type =“application/xml”)

要启动程序,请执行以下命令

uvicorn main:app --reload

发布启动服务,访问 url https://127.0.0.1:8000/docs ,它会像吹气一样打开招摇的用户界面

你可以像下面这样玩公共休息 api

您可以从我的 github 获取示例代码: https://github.com/hemanth22/python-restapi/tree/feature/logger

如果你喜欢这个博客,请点赞和评论和分享。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/29408/15501201

标签:XML,xml,www,asmx,calculator,dneonline,REST,API,com,xml发生错误
来源: https://www.cnblogs.com/amboke/p/16685282.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有