strawberry fastapi graphql
当 GraphQL 遇上图数据库,便有了更方便查询数据的方式
本文阐述了一种用前端熟悉的 GraphQL 来实现查询数据库的功能,用更直观地方式来查询数据。虽然以图数据库为例,但是对其他数据库依旧适用,不妨用来参考下。 ......
fastapi ResponseModel
```python from pydantic import BaseModel class ResponseModel(BaseModel): code: int = 200 msg: str = "" success: bool = True data: dict = None class Ta ......
Nginx conf for fastapi backend project with variables
# 带变量的nginx后端项目配置 不同的api项目,挂载不同的域名,只需在配置夹里,修改文件名(建议文件名和域名保持一致)、修改端口号、修改第5行第22行backend_api后面的编号、修改第11行的项目名、可能还需要修改第12行的文件夹名、修改第14行的域名 $ cat /etc/nginx/ ......
Celery with FastAPI and TortoiseORM
API server using: `fastapi+tortoise-orm+postgresql+redis+supervisor+nginx` There are some period tasks and async tasks that will run in `celery+rabbit ......
学习FASTAPI
弯弯曲曲的学习之路 学了那么多语言,都是半途而废。包括java,Javascript,go,php,ruby等等乱七八糟。 除了c的自由和pascal的优美,FoxPro简单,其他都似懂非懂入不了法眼。主要原因还是自己能力和努力不够,真的太懒了。 早闻Python胶水,摇摇晃晃,居然有感觉进去了。 ......
fastapi 异步应用
# 定义一个专门创建事件循环loop的函数,在另一个线程中启动它 def start_loop(loop): asyncio.set_event_loop(loop) loop.run_forever() @app.get("/addr") def index(adcode: str = None, ......
FastAPI跨域配置
## FastAPI跨域配置 ```python from fastapi import FastAPI import uvicorn from fastapi.middleware.cors import CORSMiddleware #解决跨域问题 import os import redis ......
Python|通过FastAPI开发一个快速的WebAPI项目
## 前言 Python 如此受欢迎的众多原因之一是 Python 有大量成熟和稳定的库可供选择: - 网页开发有:[Django](https://link.juejin.cn?target=https%3A%2F%2Fwww.djangoproject.com%2F) 和 [Flask](htt ......
FastAPI|的路由介绍及使用
本文将介绍如何使用 Router 路由处理 FastAPI 中的请求。同时以我自己开发系统的后端为例进行FastAPI使用的说明。 ## 什么是路由 路由 Router 就像是一个流水线上的线长,协调生产,下达命令给不同的组长进行分工,然后执行基本的任务。路由器的工作目的是,在团队中工作时,您可能必 ......
【Python】如何在FastAPI中使用UUID标记日志,以跟踪一个请求的完整生命周期
## 为什么要使用uuid标记日志? 在分布式系统中,一个请求可能会经过多个服务,每个服务都会生成自己的日志。如果我们只使用普通的日志记录,那么很难将这些日志串联在一起,以至难以跟踪一个请求的完整生命周期。 如果能够使用uuid标记日志,为每个请求生成一个唯一的uuid,且这个日志可以在不同的系统间 ......
内网安装fastapi引起的一系列问题解决
# 1. pip直接安装fastapi 本地初始Python环境:Python3.7.5 问题解决后使用Python环境:Python3.8.9 ## 1.1 安装报错 - 国内源报错,https请求超时; - 包冲突报错,如图所示 ![img_v2_398962e7-1b9a-4edf-b537- ......
GraphQL教程——如何查询瑞克和莫蒂API
在本文中,我们将使用 Apollo 客户端从以同名动画电视节目命名的Rick and Morty API中获取数据。我们将编写一个GraphQL 查询来获取我们需要的数据。然后将使用 React 显示数据。 在我们开始这个项目之前,让我们回顾一下 GraphQL 的用例,以及它与 REST API ......
fastapi
FastAPI 是一个基于 Python 的现代、快速(高性能)的 Web 框架,用于构建 Web API。它具有简洁的语法、自动的 API 文档生成和交互式测试界面,以及高性能的异步支持 ......
VUE+FastAPI结合高德地图API做一个旅游推荐系统
> 最近一个月没有更新博客,去写了一个系统,包含前台和后台,还有后端的API。前后台使用VUE+高德地图API,后台使用FastAPI,实现了一些基本的功能。 ## 前台部分 因为我也是前端初学者,写的比较乱 #### 基础功能 - [x] 用户登陆注册功能 - [x] 搜索功能 - [x] 主页照 ......
关于《Building a GraphQL service》的尝试
以下是实现代码 package com.example.graphqlserver; import java.util.Arrays; import java.util.List; public record Author (String id, String firstName, String l ......
Graphql(五)Apollo 文件传输
本文介绍如何在Apollo GraphQL中实现文件的传输 ## 文件传输在GrapqhQL中官方建议 文章[Apollo Server File Upload Best Practices](https://www.apollographql.com/blog/backend/file-uploa ......
fastapi最简单使用示例
直接上代码了 from fastapi import FastAPI, Request import uvicorn app = FastAPI() @app.post("/") async def create_item(request: Rquest): json_post_raw = awai ......
fastapi框架
@fastapi框架 官方:https://fastapi.tiangolo.com/zh/ fastapi,一个用于构建 API 的现代、快速(高性能)的web框架。 fastapi是建立在Starlette和Pydantic基础上的,Pydantic是一个基于Python类型提示来定义数据验证、 ......
fastapi篇(六)
关于请求体参数、路径参数、请求参数的声明 函数参数按照如下的顺序进行识别匹配: (1)、如果这个参数已经在路径中被声明过,那么它就是一个路径参数。 (2)、如果这个参数的类型是单类型的(如str、float、int、bool等),那么它就是一个请求参数。 (3)、如果这个参数的类型是Pydantic ......
fastapi篇(五)
get请求的请求参数 1、如果函数里的参数不是路径参数的一部分,那么这样的参数就自动被解释为请求参数。 2、请求参数就是URL中问号('?')后面以'&'间隔开的键值对,它们是URL的一部分,并且参数类型都是字符串类型。 @app.get("/str") def get_str(item: str ......
fastapi篇(四)
路径参数声明 借助类型注解。fastapi会自动对request前端请求参数实现自动转换 @app.get("/str/{item}") def get_str(item: str): print(item, type(item)) return "只有永不遏止的奋斗,才能使青春之花,即便是凋谢,也 ......
fastapi篇(三)
pydantic 在之前python进阶主题文章中,针对这个三方模块有过简单的介绍,主要用于数据校验,在fastapi中,正式发挥了他这一长处 from pydantic import BaseModel, ValidationError class CreateRequest(BaseModel) ......
fastapi篇(二)
尝试创建一个新的web服务 1、接口展示 import uvicorn from fastapi import FastAPI from fastapi.staticfiles import StaticFiles app = FastAPI() app.mount('/static', Stati ......
GraphQL安全问题
前言 实习的时候遇到graphql相关的安全测试,简单学习了一下,发现p神在18年就出相关议题总结了,在这里学习记录一下相关知识。 GraphQL简介 GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任 ......
轻松绕过 Graphql 接口爬取有米有数的商品数据
有米有数 有米有数数据的 API 接口,使用的是一种 API 查询语言 graphql。所有的 API 只有一个入口,具体的操作隐藏在请求数据体里面传输。 模拟登录,获取 sessionId 调用登录接口,进行模拟登录。 cookies = {} headers = {} json_data = { ......
Fastapi之OAuth2认证
1.基于用户名密码认证 from typing import Optional from fastapi import APIRouter, Depends, HTTPException from fastapi.security import OAuth2PasswordBearer, OAuth ......
Fastapi之微服务Consul应用注册发现
import uvicorn from fastapi import FastAPI app = FastAPI() def register(server_name, ip, port): c = consul.Consul(host="127.0.0.1", port=8500) # consu ......
fastapi坑--fastapi 书写EventSourceResponse 迭代器的时候一定要加sleep
一定要加sleep ,否则 sse_starlette.sse 中 listen_for_disconnect 收不到 http.disconnect 信号。这个表现是服务端的sse传输不会结束,会一直传递下去(虽然客户端 close或者disconnect)。 ......
带你了解关于FastAPI快速开发Web API项目中的模板和Jinja
摘要:FastAPI 实际上是为构建 API 和微服务而设计的。它可用于构建使用 Jinja 提供 HTML 服务的 Web 应用程序。 本文分享自华为云社区《FastAPI 快速开发 Web API 项目: 模板和 Jinja 介绍》,作者:宇宙之一粟。 什么是 Jinja 模板是全栈 Web 开 ......
GraphQL渗透测试详解
GraphQL介绍 GraphQL概述 GraphQL 是一种查询语言,用于 API 设计和数据交互。它是由 Facebook 发布的一款新型的数据查询和操作语言,自 2012 年起在内部使用,自 2015 年起获得开源许可。由于技术原因,越来越多的公司使用 GraphQL 并将其后端切换到这个新系 ......