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

使用fetch调用fastapi接口(post)的实例

前端代码

//定义函数
async function sendRequest(data) {let myurl="http://127.0.0.1:8848/get_student_info"const response = await fetch(myurl, {method: 'POST',mode: 'cors',  // 执行跨域请求headers: {'Content-Type': 'application/json',         },body: JSON.stringify({         "name": "山南","gender": "男",    })});  let res = '';let str;// 等待 Promise 对象被解决(resolved)const json_res = await response.json();str=json_res.ageaddResponseMessage(String(str)); return str;}let data;data = { "apiKey": ""};// 将data传入sendRequest然后处理该函数的返回值ressendRequest(data).then((res) => {     // 重新绑定键盘事件chatInput.on("keydown",handleEnter); // 判断是否是回复正确信息if(resFlag){messages.push({"role": "assistant", "content": res});         });

python fastapi后端

from typing import Union
from fastapi import FastAPI
from uvicorn import run #直接在py文件中启动webapi服务
from pydantic import BaseModel
from fastapi.middleware.cors import CORSMiddleware #解决跨域问题https://blog.csdn.net/Tong_yanpeng/article/details/122893166app = FastAPI()# 不知为何如果添加了准确的ip和端口号,则仍然存在跨域问题,因此,允许所有来源的请求。
origins = ["*"]   
#  配置允许域名列表、允许方法、请求头、cookie等
app.add_middleware(CORSMiddleware,allow_origins=origins,allow_credentials=False,allow_methods=["*"],allow_headers=["*"],
)#   声明参数类 fastapi要对前端传过来的参数进行校验,所以要定义对应的类
class Student(BaseModel):name: strgender: str
@app.post("/get_student_info")
async def get_student_info(request_data: Student):name = request_data.name+"_ok"gender =  request_data.gender+"_ok"age=18res = {'name':name,'gender':gender,'age':18,'status':200}return res  # 返回一个jsonif __name__ == '__main__':print("start")run(app, host="127.0.0.1", port=8848)  # http://127.0.0.1:8848print("end")
http://www.lryc.cn/news/118188.html

相关文章:

  • 探索规律:Python地图数据可视化艺术
  • Django-------自定义命令
  • 【Linux】在浏览器输入网址后发生了什么事情?
  • 推荐两本书《JavaRoadmap》、《JustCC》
  • 使用基于jvm-sandbox的对三层嵌套类型的改造
  • [HDLBits] Mt2015 q4b
  • C++:堆排序
  • Grafana Prometheus 通过JMX监控kafka
  • vue项目切换页面白屏不显示解决方案
  • Goland报错 : Try to open it externally to fix format problem
  • Python-OpenCV中的图像处理-几何变换
  • 前端JavaScript入门-day08-正则表达式
  • ML类CFAR检测器在不同环境中检测性能的分析
  • element-ui 路由动态加载功能
  • (学习笔记-进程管理)进程调度
  • 十分钟python入门 正则表达式
  • 关于数据拷贝赋值方法
  • Effective Java笔记(32)谨慎并用泛型和可变参数
  • 数据结构——双向链表
  • Declare 关键字在 TypeScript 中如何正确使用?
  • ChatGPT将会成为强者的外挂?—— 提高学习能力
  • AUTOSAR规范与ECU软件开发(基础篇)1.3 车用控制器软件标准(从OSEK到AUTOSAR)
  • R语言5_安装Giotto
  • centos按用户保存历史执行命令
  • 【力扣】61. 旋转链表 <快慢指针>
  • 编写一个指令(v-focus2end)使输入框文本在聚焦时焦点在文本最后一个位置
  • Virtualbox设置访问外网以及主机和虚拟机互通
  • 请简述React是什么?React的主要特点有哪些?React中有哪些主要组件?
  • DevOps最佳实践和工具在本地环境中的概述
  • kafka和rabbitmq之间的区别以及适用场景