首页 > 其他分享 >fastapi部署服务

fastapi部署服务

时间:2024-07-05 15:59:12浏览次数:17  
标签:服务 请求 部署 fastapi app content process main

安装

pip install fastapi uvicorn

创建一个 FastAPI 应用,例如 main.py:

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class RequestBody(BaseModel):
    content: str

@app.post("/process/")
async def process_string(request_body: RequestBody):
    # 这里可以对传来的字符串进行任意处理
    processed_content = request_body.content.upper()  # 示例:将字符串转为大写
    return {"processed_content": processed_content}

运行服务

uvicorn main:app --reload

(也可以在main中添加uvicorn.run(app, host='0.0.0.0', port=8012, workers=1),直接python main.py)
这将启动一个在本地运行的服务,默认情况下会运行在 http://127.0.0.1:8000
使用 curl 发送请求
现在你可以使用 curl 来向这个服务发送请求。请求内容是一串字符串。

这是一个示例请求:

curl -X POST "http://127.0.0.1:8000/process/" -H "Content-Type: application/json" -d '{"content": "hello, world"}'

解释下这个 curl 命令:

-X POST: 指定请求方法为 POST。
"http://127.0.0.1:8000/process/": 指定服务的 URL。
-H "Content-Type: application/json": 设置请求头的 Content-Type 为 application/json。
-d '{"content": "hello, world"}': 设置请求体数据,发送的内容是一串 JSON 字符串。

其他参考
https://zhuanlan.zhihu.com/p/678409211
https://zhuanlan.zhihu.com/p/696809583
https://fastapi.tiangolo.com/zh/tutorial/body/

标签:服务,请求,部署,fastapi,app,content,process,main
From: https://www.cnblogs.com/dingz/p/18285984

相关文章

  • 【高性能服务器】select模型
      ......
  • 大模型Linux本地化[离线]部署(以DB-GPT为例)
    DB-GPT本地化[离线]部署由于Python相关依赖包的获取极度依赖pip,而Miniconda支持环境隔离和环境打包,所以离线部署本质就是比在线部署多一步环境打包,环境搬迁。所以本篇文章一样适用于在线部署,以CentOS7为例。资源获取DB-GPT官方说明文档DB-GPT源码下载地址Nvidia驱动......
  • 记一次aspnetcore发布部署流程初次使用k8s
    主题:aspnetcorewebapi项目,提交到gitlab,通过jenkins(gitlab的ci/cd)编译、发布、推送到k8s。关于gitlab、jenkins、k8s安装,都是使用docker启动服务。首先新建一个项目,为了方便浏览就把swaggerr非开发环境不展示去掉 下面就是需要准备Dockerfile和k8s.yaml文件,这里不应该用......
  • 服务器bios 烧坏
    服务器作为网络运行的基础设备,在平常的使用过程中或多或少出现一些故障现象。具体有哪些常见的故障,怎么排除这些故障呢?一、硬件故障:硬件故障有很多种,对系统产生的影响也不一样,这里按其故障对系统的影响程度分:致命影响的硬件故障和只影响功能的硬件故障两类进行硬件分类:其损坏对......
  • Nacos 2.x 系列【20】集群部署
    文章目录1.前言2.部署服务端2.1准备工作2.2集群节点配置2.3鉴权配置2.4配置数据源2.5配置IP2.6配置端口2.7启动集群3.部署模式3.1直连模式3.2地址服务器模式3.2.1地址服务器3.2.2配置3.3VIP模式(推荐)3.3.1Nginx3.3.1域名1.前言官方文档在实......
  • linux部署cassandra
    Cassandra数据库是一个高度可扩展、分布式的NoSQL数据库系统,最初由Facebook开发,用于处理大规模数据集并提供高可用性和高性能。随着其开源和广泛应用,Cassandra已经成为Apache软件基金会的一个顶级项目。以下是关于Cassandra数据库的详细介绍:一、基本概述类型:Cassandra是一个开......
  • VMware vSphere Tanzu部署_16_TKC集群节点VM密码获取
    SupervisorControlPlaneVM密码获取通过SSH方式登录vcentervcenter开启SSH服务通过SSH工具登录vcenter执行获取密码脚本在vcentershell模式下执行/usr/lib/vmware-wcp/decryptK8Pwd.py命令WARNING!TheremoteSSHserverrejectedX11forwardingrequest.Connect......
  • 【中项第三版】系统集成项目管理工程师 | 第 3 章 信息技术服务
    前言第3章对应的内容大概率仅考察选择题,案例大纲中有要求,但是考的概率不是很大,通读教程,速战速决。选择题分值预计在3分。目录3.1内涵与外延3.1.1服务的特征3.1.2IT服务的内涵3.1.3IT服务的外延3.1.4IT服务业的特征3.2原理与组成3.2.1IT服务原理3.2.2组成要素......
  • 基于Kube-Prometheus/v0.13.0的K8S监控部署
    Kube-Prometheus不同版本支持的Kubernetes版本信息如下:kube-prometheusstackKubernetes1.22Kubernetes1.23Kubernetes1.24Kubernetes1.25Kubernetes1.26Kubernetes1.27Kubernetes1.28release-0.10✔✔✗✗xxxrelease-0.11✗✔✔✗xxx......
  • 在wsl中部署puppeteer的相关笔记
    二.缺少依赖问题 反复提示缺少各种依赖,到处搜刮一顿操作之后是没问题了,但也不知道哪些是无所谓的aptinstall-ygconf-servicelibc6libcairo2libdbus-1-3libexpat1libfontconfig1libgcc1libgdk-pixbuf2.0-0libglib2.0-0libgtk-3-0libstdc++6libx11-6aptinstall......