首页 > 编程语言 >007 python3写一个http接口服务(get, post),给别人调用

007 python3写一个http接口服务(get, post),给别人调用

时间:2023-05-10 11:57:20浏览次数:65  
标签:__ http get fastapi app res uvicorn 007 FastAPI

一、python3写一个http接口服务,给别人调用3

这次选择fastapi,FastAPI是一个现代的、快速(高性能)的web框架,用于基于标准Python类型提示使用Python 3.6+构建api。具有快速、快速编码、更少的错误、直观、简单、简便、健壮。简易而且本地win10能够跑起来

二、FastAPI的get接口代码实现

  1. 安装:
pip install fastapi
pip install uvicorn
  1. 代码:
# !/usr/bin/python
# -*- coding: utf-8 -*-
# @time    : 2019/11/12 21:27
# @author  : Mo
# @function: get service of fastapi
 
from fastapi import FastAPI
 
app = FastAPI()
 
@app.get('/test/a={a}/b={b}')
def calculate(a: int=None, b: int=None):
    c = a + b
    res = {"res":c}
    return res
 
 
if __name__ == '__main__':
    import uvicorn
    uvicorn.run(app=app,
                host="0.0.0.0",
                port=8080,
                workers=1)
  1. 接口访问:http://127.0.0.1:8080/test/a=1/b=4

      浏览器访问结果:
    

image

         postman访问结果:
		 ![image](/i/l/?n=23&i=blog/529952/202305/529952-20230510113234874-1997086598.png)

三、FastAPI的post接口代码实现

  1. 安装:
 pip install fastapi
 pip install uvicorn
  1. 代码:
# !/usr/bin/python
# -*- coding: utf-8 -*-
# @time    : 2019/11/12 21:27
# @author  : Mo
# @function: post service of fastapi
 
from pydantic import BaseModel
from fastapi import FastAPI
 
app = FastAPI()
 
class Item(BaseModel):
    a: int = None
    b: int = None
 
@app.post('/test')
def calculate(request_data: Item):
    a = request_data.a
    b = request_data.b
    c = a + b
    res = {"res":c}
    return res
 
if __name__ == '__main__':
    import uvicorn
    uvicorn.run(app=app,
                host="0.0.0.0",
                port=8080,
                workers=1)

转载来源:
https://blog.csdn.net/rensihui/article/details/103038869

标签:__,http,get,fastapi,app,res,uvicorn,007,FastAPI
From: https://www.cnblogs.com/sute/p/17387518.html

相关文章

  • RHEL7部署http应用配置共享yum源
    通过采用部署http的方式实现共享yum源,供其它服务器实现rpm的快捷安装。该部署方式也适用于centos服务器。RHEL7服务器说明服务器信息说明192.168.10.110yum源服务主节点192.168.10.101从节点(从192.168.10.110上获取yum源)前提条件:1.两台服务器需关闭防火墙iptables-Fsystem......
  • VS修改NuGet包默认存放位置
    1、问题描述默认情况下,NuGet下载的包存放在系统盘(C盘中,一般在路径C:\Users\用户.nuget\packages下),这样一来,时间长了下载的包越多,C盘占用的控件也就越多。那么有没有办法将默认的下载位置修改掉呢?答案肯定是可以的。2、修改默认存放位置的目的目的很简单,当然是给C盘留出更多......
  • Android----http请求工具类(转)
    项目中客户端与服务器端采用http请求进行交互,在这里我把http请求的工具类贴出来。该工具类采用的是HttpClients框架,HTTP保存方式有两种选择:一种:整个应用只创建一个HttpClient对象,然后保存在整个程序中去。此情况无法创建多线程中应用。另一种:随时创建HttpClient对象。系统自......
  • httprunner 4.x学习 - 11.hook 机制
    前言前言httprunner4.x可以支持hook机制,在发送请求前做一些预处理或在请求完成后后置处理setup_hooks:主要用于处理接口的前置的准备工作,也可以对请求request参数签名加密等操作teardown_hooks:主要用于后置清理工作,也可以对返回respone解密等操作测试步骤添加hook在......
  • httprunner 4.x学习 - 10.参数化(parameters)引用外部 csv 数据文件 和函数
    前言httprunner4.x实现参数化使用parameters关键字,数据源有三种方式1.在yaml文件中直接写测试数据源2.测试数据源写到csv文件3.自定义函数,函数返回列表形式数据独立参数对于已有参数列表,并且数据量比较大的情况,比较适合的方式是将参数列表值存储在CSV数据文件中。......
  • httprunner 4.x学习 -9.parameters 参数化
    前言httprunner4.x实现参数化使用parameters关键字,数据源有三种方式1.在yaml文件中直接写测试数据源2.测试数据源写到csv文件3.自定义函数,函数返回列表形式数据参数配置参数名称的定义分为两种情况:独立参数单独进行定义;多个参数具有关联性的参数需要将其定义在一起......
  • C# HttpListener 和 HttpServer区别
    HttpListener和HttpServer都是C#中用于创建HTTP服务器的类库,它们的作用都是监听HTTP请求,并向客户端发送HTTP响应。它们的主要区别在于实现方式和使用场景。HttpListener是.NETFramework中的一个类,它提供了一种基于事件的异步API,可以用于创建一个轻量级的HTTP服......
  • Method com/mysql/jdbc/JDBC4ResultSet.getObject(Ljava/lang/String;Ljava/lang/Clas
      mybatis-plus生成的日期类型默认是localdatetime,数据库是datetime,按道理转换应该可以,我又不想把实体类转换成date查看依赖<--locadate/locadatetime的时间依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-ty......
  • PHP:cURL error 60: SSL certificate unable to get local issuer certificate](转)
    原文:https://www.cnblogs.com/xiaofeilin/p/14128025.html1、问题导致该问题的原因在于没有配置curl.cainfo,该配置位于php.ini中2、解决下载cacert.pemhttps://curl.haxx.se/ca/cacert.pem配置php.ini[curl];AdefaultvaluefortheCURLOPT_CAINFOoption.Thisis......
  • httprunner 4.x学习 -8.base_url 环境地址的使用
    前言config中有个base_url关键字可以设置环境地址,这样其它接口就只需写相对地址了base_url环境地址比如我要测试的API接口如下http://httpbin.org/get第一个是get请求http://httpbin.org/post第二个是post请求如果一个测试用例,有多个步骤中,测试环境地址不变http://......