SpringCloud+Vue+Python人工智能(fastAPI,机器学习,深度学习)前后端架构各功能实现思路——SpringCloud后端——Gateway网关

FastApi通过nacos注册 实现SpringCloudGateway服务调用 安装依赖 pipenv install apscheduler pipenv install nacos-sdk-python 编写注册方法 app/nacos.py import nacos from .settings import settings client = nacos.NacosClient( settings.SERVER_HOST, namespace=settings.SERVER_NAMESPACE_ID) async def beat(): 阅读详情
SpringCloud+Vue+Python人工智能(fastAPI,机器学习,深度学习)前后端架构各功能实现思路——主目录(持续更新):https://blog.youkuaiyun.com/grd_java/article/details/144986730

1. spring boot启动类

gateway网关也是一个springboot项目


在这里插入图片描述

package com.yd_oa_java_cloud.gateway;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//启动类,springIOC容器加载时 扫描的包范围为com.yd_oa_java_cloud,主要要将你想要spring管理的包都放在一个固定路径下
//我们写代码时,经常创建包搞一个什么com.XXXXX.XXXXX,然后配置时就用com.XXXXX
@SpringBootApplication(scanBasePackages = {"com.yd_oa_java_cloud"})
public class YdOaCloudGatewayRunApplication {
    public static void main(String[] args) {
        SpringApplication.run(YdOaCloudGatewayRunApplication.class,args);
    }
}

2. gateway配置文件,和nacos配置中心的配置文件

1. 代码中,resources文件夹中创建bootstrap.yml文件(注意文件名不可以随便定义,必须是这个),注意配置中,服务名,不可以有下划线


在这里插入图片描述

spring:
  profiles:
    active: dev #定义环境为开发环境
  application:
    name: yd-oa-java-gateway # 服务名字,服务之间相互调用都依赖这个名字
  # spring cloud相关配置
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848 # localhost:8848为默认的nacos本地端口位置
      config:
        server-addr: 127.0.0.1:8848 # 配置中心地址
        file-extension: yml # 配置中心的文件后缀类型
        # 配置中心要加载的yml文件名为yd_oa_java_gateway-dev.yml这样式的,也就是服务名-环境.后缀
        shared-configs: ${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} # 对应nacos配置中心的Data Id

2. nacos配置中心添加


在这里插入图片描述


在这里插入图片描述


feign:
    okhttp:
        enabled: true #feign组件,这里gateway可以不用配置
server:
    port: 7071 # 当前服务端口号

# 日志放置的路径和级别
project:
    folder: E:/webser/yd_oa_cloud/ 
log:
    root:
        level: debug

3. 启动测试

1. 启动gateway网关


在这里插入图片描述


2. nacos成功注册项目


在这里插入图片描述


3. 用随便一个模块测试一下,例如Spring Security模块,具体构建方式可以参考:https://blog.youkuaiyun.com/grd_java/article/details/145013189


4. 写一个测试方法


在这里插入图片描述


5. 此时请求7072端口的接口可以请求到,但是我们有网关的目的是统一请求网关所在的7071端口才对,反而,请求7071是无法请求到的


在这里插入图片描述


在这里插入图片描述

4. 路由配置

添加路由相关配置


在这里插入图片描述

spring:
  cloud:
    gateway:
      discovery: # 可以不配置
        locator:
          enabled: true #使用服务发现路由=true,依赖于openfeign
          lower-case-service-id: true #服务名路由可以小写
      routes:
        - id: yd-oa-java-security #路由id ,随便起,推荐写服务名
          uri: lb://yd-oa-java-security #lb是负载均衡,路由url,lb:// 后面 要写在nacos中注册的名字,因为我配置了服务名路由可以小写,所以这里小写也没关系
          predicates:
            - Path=/security/** # 路径断言匹配,和nginx中配置转发差不多,就是遇到这个路径的请求,转发到yd_oa_java_security这个服务去处理
          filters:
            - StripPrefix=1 # Path中只过滤第一段路径,也就是我们请求时只需要遇到/security这个路径,就转发

此时我们配置了/security/**路径的请求全部通过lb负载均衡的模式,分发到yd-oa-java-security这个服务对应的实例集群中处理


此时我们可以通过请求gateway网关地址/配置中Path对应路径/具体要请求的路径,来通过网关分发到具体服务请求接口


在这里插入图片描述

当我们某个服务的多个实例,其中有一台挂掉时,并不能立即处理,gateway依旧会将部分请求负载均衡到这个已经挂掉的实例上


通常它需要十几秒的时间才能注意到有一台已经挂掉了,放弃将请求分发到它身上。此时就需要配置熔断,全局的异常处理,后面会介绍到

nginx也可以分发负载均衡,但是它不能渗透到业务中,gateway可以做代码中的健全


所以一般会外层使用nginx,它确实十分强大,然后内层有一层gateway网关,然后才是具体业务模块

5. 过滤器

5.1 全局过滤器配置方法

1. 全局过滤器(全局拦截器),主要用于防xss注入(跨站脚本攻击,通过漏洞注入恶意代码)、以及登录的拦截等,所有的请求都会进行过滤


在这里插入图片描述

代码中只是演示了过滤器的配置方法,输出了一个日志。之后如何使用,还取决于具体业务功能需要,目前只是配置一个网关,还不需要编写过滤器,之后进行登录鉴权时,才会使用


package com.yd_oa_java_cloud.gateway.filter;

import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;

/**
 * gateway 全局过滤器,可以调用spring Security微服务进行鉴权
 * implements GlobalFilter 实现GlobalFilter接口,实现全局过滤器。可以有多个
 * implements Ordered 实现过滤器的先后顺序,如果有多个过滤器,通过此接口规定每个过滤器的先后顺序
 */
@Component//组件组成,交由SpringIOC容器管理
@Slf4j //日志
public class GateWayGlobalRequestFilter implements GlobalFilter , Ordered {
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        String rawPath = exchange.getRequest().getURI().getRawPath();//获取请求路径
        log.info("GateWayGlobalRequestFilter:"+rawPath);
        //过滤完成,可以向下传递
        return chain.filter(exchange);
    }
    //定义此过滤器为所有过滤器的第0层过滤器
    @Override
    public int getOrder() {
        return 0;
    }
}

2. 测试,访问security的测试接口


在这里插入图片描述


getaway成功过滤,并放行


在这里插入图片描述

5.2 指定过滤器配置方法

1. 只过滤部分请求的过滤器为指定过滤器,只需要配置路由时为其指定过滤器即可。一般应用在包含前后台系统的网站,后台系统需要鉴权,而前台系统很多内容是只要进入网站就可以观看的,无需登录认证。


2. 例如为Security请求添加指定过滤器,只需要在filters配置下添加指定过滤器即可


在这里插入图片描述

spring:
  cloud:
    gateway:
      routes:
        - id: yd-oa-java-security #路由id ,随便起,推荐写服务名
          uri: lb://yd-oa-java-security #lb是负载均衡,路由url,lb:// 后面 要写在nacos中注册的名字,因为我配置了服务名路由可以小写,所以这里小写也没关系
          predicates:
            - Path=/security/** # 路径断言匹配,和nginx中配置转发差不多,就是遇到这个路径的请求,转发到yd_oa_java_security这个服务去处理
          filters:
            - StripPrefix=1 # Path中只过滤第一段路径,也就是我们请求时只需要遇到/security这个路径,就转发
            - SecurityRequestFilter # 这个路由的指定过滤器

3. 和全局过滤器不同的是,指定过滤器需要继承AbstractGatewayFilterFactory类


在这里插入图片描述

package com.yd_oa_java_cloud.gateway.filter;

import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.gateway.filter.GatewayFilter;
import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Component;

@Component //交由spring IOC管理
@Slf4j
public class SecurityRequestFilter extends AbstractGatewayFilterFactory {

    @Override
    public GatewayFilter apply(Object config) {
        return ((exchange, chain) -> {
            ServerHttpRequest request = exchange.getRequest();
            String rawPath = request.getURI().getRawPath();
            log.info("SecurityRequestFilter:@TODO:登录相关认证操作,{}",rawPath);
            return chain.filter(exchange);
        });
    }
}

4. 请求测试


在这里插入图片描述


在这里插入图片描述

5.3 不推荐使用过滤器的场景

当某个服务中部分路径需要鉴权,而部分路径可以直接放行时,通过过滤器只能通过路径去判断


此时,AOP切面是个更好的选择

6. 全局异常处理(全局拦截器Handler)

注意,全局异常拦截器是针对Gateway的,如果请求成功路由到对应微服务,然后微服务中出错,就不是这个拦截器的管理范围了


我们以404为例,我们的路由配置路径为security路径分发到权限微服务处理。那么如果我们输入security1这个路径,就没有对应可以路由的微服务,一定会报gateway网关层面的404


在这里插入图片描述


但是如果我们就是输入security路径,那么gateway根据我们的配置会成功路由到权限服务中处理。此时权限服务中的路径输入错误,和gateway网关就没有什么关系了。下面的例子中,我们路由地址填写正确,但是具体微服务接口填写错误,就不会触发拦截器


在这里插入图片描述

实现方法也很简单,只需要实现WebExceptionHandler接口即可,但是要注意,异常拦截器应该在所有过滤器之前执行,也就是说需要额外添加注解@Order(-1)(视情况改变,值越小越先执行,如果你的项目中-1不是最小,那么就改为更小的值)


在这里插入图片描述


package com.yd_oa_java_cloud.gateway.handler;

import com.yd_oa_java_cloud.base.entity.enums.ResponseCodeEnum;
import com.yd_oa_java_cloud.base.entity.vo.ResponseVO;
import com.yd_oa_java_cloud.base.exception.BusinessException;
import com.yd_oa_java_cloud.base.utils.JsonUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.annotation.Order;
import org.springframework.core.io.buffer.DataBuffer;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.server.reactive.ServerHttpResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ResponseStatusException;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebExceptionHandler;
import reactor.core.publisher.Mono;

import java.nio.charset.StandardCharsets;

/**
 * 全局异常拦截器
 */
@Slf4j
@Component
@Order(-1) //异常拦截器应该在其它过滤器之前执行
public class GatewayExceptionHandler implements WebExceptionHandler {
    protected static final String STATUS_ERROR = "error";//错误状态信息
    //WebExceptionHandler 拦截处理逻辑
    @Override
    public Mono<Void> handle(ServerWebExchange exchange, Throwable ex) {
        ResponseVO responseVO = getResponse(ex);//获取异常信息,返回结果为封装好的ResponseVO对象

        ServerHttpResponse response = exchange.getResponse();//获取响应体对象
        response.getHeaders().setContentType(MediaType.APPLICATION_JSON);//设置响应头上下文类型为Json
        //获取异常信息json流
        DataBuffer dataBuffer = response.bufferFactory().wrap(JsonUtils.convertObjToJson(responseVO).getBytes(StandardCharsets.UTF_8));
        //将其写到响应体中
        return response.writeWith(Mono.just(dataBuffer));
    }

    /**
     * 自定义方法,获取异常信息
     * @param ex
     * @return
     */
    private ResponseVO getResponse(Throwable ex){
        ResponseVO responseVO = new ResponseVO();
        //设置错误状态
        responseVO.setStatus(STATUS_ERROR);
        //如果响应的错误属于ResponseStatusException的实例
        if (ex instanceof ResponseStatusException){
            ResponseStatusException responseStatusException = (ResponseStatusException) ex;//错误强转
            //如果错误就是404错误的话
            if (HttpStatus.NOT_FOUND == responseStatusException.getStatus()){
                //将我们封装的响应枚举类中封装的信息进行响应
                responseVO.setCode(ResponseCodeEnum.CODE_404.getCode());
                responseVO.setInfo(ResponseCodeEnum.CODE_404.getMsg());
                return responseVO;
            }
            //如果是应用服务(微服务)不可用的话。当要路由的微服务挂掉的话,会报此错误
            else if (HttpStatus.SERVICE_UNAVAILABLE == responseStatusException.getStatus()){
                responseVO.setCode(ResponseCodeEnum.CODE_503.getCode());
                responseVO.setInfo(ResponseCodeEnum.CODE_503.getMsg());
                return responseVO;
            }
            //其余异常
            else{
                responseVO.setCode(responseStatusException.getStatus().value());
                responseVO.setInfo(ResponseCodeEnum.CODE_500.getMsg());
                return responseVO;
            }
        }
        //如果是我们自定义异常的话
        else if(ex instanceof BusinessException){
            BusinessException businessException = (BusinessException) ex;
            responseVO.setCode(businessException.getCode());
            responseVO.setInfo(businessException.getMessage());
            return responseVO;
        }
        //如果是未知错误,报500
        responseVO.setCode(ResponseCodeEnum.CODE_500.getCode());
        responseVO.setInfo(ResponseCodeEnum.CODE_500.getMsg());
        return responseVO;
    }
}
SpringCloud+Python 混合微服务,如何打造AI分布式业务应用的技术底层? 这里,通过Python 图像识别与文本提取(OCR) 业务为例,实现一个 SpringCloud + Python 混合微服务架构实操。在日常的开发中,图像识别与文本提取(OCR)技术扮演着至关重要的角色,它们极大地促进了业务流程的自动化,提升了用户体验。特别是在互联网和金融行业,这一需求尤为显著。一般来说,图像识别与文本提取(OCR)都是通过python实现。并且在Python生态中,有一个OCR的明星库——PaddleOCR。 阅读详情

相关推荐

基于魔搭社区(ModelScope)与 FastAPI 构建企业级本地模型微服务(以 Qwen3-0.6B 为例)

本文详细阐述了如何将基于魔搭社区(ModelScope)的Qwen3-0.6B模型与FastAPI框架结合,构建一个高可用、易监控、可扩展的企业级本地模型微服务。内容涵盖从项目结构重构、健壮的服务层设计、带认证与限流的API实现,到容器化部署、性能优化及基础运维监控的完整实践路径,旨在帮助技术团队将AI模型从“玩具”Demo升级为支撑业务的稳定服务。

weixin_29051811的博客 268

(1)SpringCloud 整合Python

sidecar我们刚刚说了使用sidecar可以将和第三方语言整合,那什么是sidecar呢?说白了sidecar就是提供的一个工具,使用该工具将第三方的rest接口集成到中来。那么如何使用sidecar呢?首先我们看一下官网的描述。看了官网的描述,似乎我们还是抓不住重点,到底应该如何结合Sidecar和第三方程序呢?依旧是如此的茫然。Sidecar是一个用于监听非JVM应用程序(可以是Python或者Node或者Php等等)的一个工具,通过Sidecar可以实现Java和第三方应用程序的双向交互。...

m0_67402914的博客 1215

python服务集成到springcloud平台方法

springcloud结合中间件调用python服务,实现python数据模型被springcloud中的java服务调用

【亲测免费】 FastAPI Gateway 使用教程

FastAPI Gateway 使用教程 项目介绍 FastAPI Gateway 是一个用于微服务的异步API网关。它提供了一个统一的接口来处理所有客户端请求,并将这些请求分发到相应的微服务。FastAPI Gateway 的主要功能包括请求处理、流量控制、监控、访问控制和安全、缓存以及请求限制。该项目最初是为了实现身份验证、认证和授权而创建的,后来扩展到包括API计划和多个微服务的管理。 项目...

gitblog_01129的博客 1496

SpringCloud融入Python的实现

主要介绍了SpringCloud融入Python的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

STM32实战——七段数码管动态扫描技术详解

本文详细解析了STM32控制七段数码管的动态扫描技术,包括硬件连接、CubeMX配置及编程实现。通过分时复用原理和优化代码逻辑,实现稳定显示效果,并解决亮度不均、闪烁等常见问题。适合嵌入式开发者快速掌握STM32数码管驱动技术。

weixin_42561143的博客 279

云计算python Spring cloud 微服务

理论 微服务概念 微服务的概念源于2014年3月Martin Fowler所写的一篇文章“Microservices”,微服务架构是一种架构模式,他提倡将单一应用程序划分成一组小的服务,服务之间互相互相协调、互相配合,为用户提供最终价值,每个服务运行在其独立的进程中,服务与服务间采用器轻量级的通信机制互相沟通(通常是基于HTTP的RESTFUL API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等,另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,.

m0_60655253的博客 1552

新手小白 必须精进的 “ FLASH分区管理Code and Data ” !!!最强文章解析!!!

FLASH“代码区”和“数据区”不是每个项目都必须显式管理,但只要你的产品功能越来越丰富,对可靠性和扩展性要求提高,就一定要学会科学划分和使用。这也是嵌入式工程师进阶路上的必修课!

qq_75157958的博客 933

SpringCloud + Python 混合微服务架构,打造AI分布式应用的技术底层

SpringCloud + Python 混合微服务架构,打造AI分布式应用的技术底层

安静的软件工程师 2583

复现论文报错解决

博主复现论文代码过程中遇到的各种报错及解决方案~

rellvera的博客 1059

RHCSA Linux环境搭建

安装Linux操作系统一般有三种方式:为了便捷方便高效,因此本人选择通过虚拟机来使用Linux操作系统。先在官网(Download VMware Workstation Pro)下载好VMware workstation pro软件,下载安装完成后,需要激活打开。下载版本不同,所需激活码也不同(激活码可在网络上查找)

weixin_68256171的博客 1420

探索高效微服务架构:fastapi-gateway 项目推荐

探索高效微服务架构:fastapi-gateway 项目推荐 在微服务架构的世界中,如何高效地管理和协调众多服务是一个关键问题。今天,我们将介绍一个强大的开源项目——fastapi-gateway,它为微服务提供了一个异步的单一入口点,极大地简化了服务的管理和安全控制。 项目介绍 fastapi-gateway 是一个基于 FastAPI 的 API 网关,旨在为微服务架构提供一个单一的入口点。它...

gitblog_00221的博客 649

YOLOv13改进策略【Neck】| CVPR2024 LGAG:大核分组注意力门模块,3×3分组卷积与注意力协同的特征精准融合

本文记录的是利用LGAG 模块改进 YOLOv13 的颈部融合部分。(Large-kernel Grouped Attention Gate)通过3×3分组卷积与注意力机制结合,引导解码器处理特征与跳接特征的精准融合。本文利用模块,通过3×3分组卷积扩大感受野以捕捉更广泛局部空间上下文,同时结合注意力机制生成自适应注意力系数,对YOLOv13中关键目标特征赋予高激活值、抑制冗余背景特征,在特征融合阶段实现全局语义与局部细节的高效结合,减少计算成本的同时提升特征表达能力,增强模型对复杂场景下目标的检测精度与效

Limiiiing的博客 103

SpringCloud结合Python,Golang实现多语言微服务架构

SpringCloud微服务架构这几年已经使用非常广泛了,如下图是目前大多公司使用的基础业务架构图,通过围绕SpringCloud这个架构核心来做的各种部署和设计但是随着业务量的增加,和部门团队的多样化,很多业务我们可能使用python或者golang实现从而更方便或者效率更高。比如国内某滴公司或者其他一些公司会使用到一些地图类的搜索算法,而这些算法大多使用python语言来做实现开源。

我的博客 1509

8、音频运行时系统的架构设计

本文深入探讨了音频运行时系统的分层设计及其优势,包括逻辑层和物理层的功能划分。通过分层设计,开发者可以更轻松地管理和优化音频资源,确保其在不同平台上的高效运行。文章还介绍了平台适配与优化、错误处理与调试以及未来发展方向等内容,为开发者提供了宝贵的参考和指导。

juice的博客 461

企业AI数据资产评估的自动化工具:AI应用架构师的使用指南

在AI驱动的企业数字化转型中,数据资产是支撑模型训练、业务决策的核心燃料。然而,80%的AI项目失败源于数据问题——低质量数据导致模型偏差、未评估的风险引发合规危机、价值不明确的数据浪费资源。手动数据资产评估效率低、易出错,无法满足规模化AI应用需求。本文将以AI应用架构师的视角,拆解企业数据资产评估的核心逻辑,用"餐厅选食材"的生活化比喻解释复杂概念,结合自动化工具的技术原理与实战案例,教你如何从0到1搭建数据资产评估体系。无论是数据质量检测、价值量化还是风险防控,你都能找到可落地的工具方案与实践步骤。

2502_91592937的博客 1629

FastAPI 接口文档全局登录验证依赖过滤指定接口

FastAPI添加全局依赖后,对指定接口依赖移除的简单实现

qq_29983177的博客 1546

量化交易:如何在QMT中运行Python策略并在VSCode中高效调试?

哈喽,大家好,我是木头左!

木头大左的博客 3759

SpringCloud整合Python WEB应用

的Eureka注册中心注册服务名为。,提供两个请求方式为。

gnwu1111的专栏 765

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python 微服务开发实例-Python写的微服务如何融入Spring Cloud体系?

前言在今天的文章中小码哥将会给大家分享一个目前工作中遇到的一个比较有趣的案例,就是如何将Python写的微服务融入到以Java技术栈为主的Spring Cloud微服务体系中?也许有朋友会有疑问,到底什么样的场景需要用Python写一个微服务,并且还要融入以Java技术栈为主的Spring Cloud微服务体系中呢?大致情况是这样的,小码哥目前所在的公司后端技术栈基本上是以Java为主,并且整个后...

weixin_37988176的博客 627

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

FastAPI 的路由介绍及使用

路由 Router 就像是一个流水线上的线长,协调生产,下达命令给不同的组长进行分工,然后执行基本的任务。路由器的工作目的是,在团队中工作时,您可能必须在团队成员(这里的团队负责人是队长)之间分配复杂性,这将有助于更快地完成项目,正确的 SME 将在该分支/路由器上工作.路由是构建网络应用的一个重要部分。FastAPI 中的路由是灵活和方便的。路由是处理从客户端发送到服务器的 HTTP 请求的过程。HTTP 请求被发送到定义的路由,这些路由有定义的处理程序来处理请求和响应。

宇宙之一粟的技术漂泊之旅 3391

SpringCloud+Vue+Python人工智能(fastAPI,机器学习,深度学习)前后端架构各功能实现思路——SpringCloud后端——权限管理rbac接口实现

SpringCloud+Vue+Python人工智能(fastAPI,机器学习,深度学习)前后端架构各功能实现思路——主目录(持续更新):https://blog.csdn.net/grd_java/article/details/144986730 SpringCloud+Vue+Python人工智能(fastAPI,机器学习,深度学习)前后端架构各功能实现思路——SpringCloud后端——Sa-Token实现Security权限管理https://blog.csdn.net/gr

殷志鹏的博客 979

别再只调用API了!用FastAPI+WhisperX搭建你自己的企业级语音识别微服务

本文详细介绍了如何利用FastAPI和WhisperX构建企业级语音识别微服务,突破传统API调用的限制。通过深度整合技术栈、优化音频处理流水线及实现异步任务管理,显著提升语音识别的性能和可扩展性。文章还涵盖了生产环境部署方案、模型量化加速及安全合规等关键实践,助力企业降低成本并提升数据安全性。

weixin_33738555的博客 293

FastAPI Filter 使用教程

FastAPI Filter 使用教程 项目介绍 FastAPI Filter 是一个用于 FastAPI 框架的插件,旨在简化 API 端点的过滤和排序操作。它支持多种后端,包括 SQLAlchemy 和 MongoEngine,使得开发者能够轻松地在项目中实现复杂的查询功能。 项目快速启动 安装 首先,你需要安装 FastAPI Filter。你可以通过 pip 安装基本版本: pip ins...

gitblog_00924的博客 893

Python微服务实战:5分钟搞定Nacos服务注册与动态配置管理(附FastAPI示例)

本文详细介绍了如何使用Python和Nacos实现微服务架构中的服务注册与动态配置管理。通过FastAPI示例,展示了如何快速集成Nacos SDK,实现服务注册、配置热更新及负载均衡,帮助开发者提升微服务治理效率。

berry的博客 390

探索微服务、API网关与认证:FastAPI构建的非阻塞式解决方案

探索微服务、API网关与认证:FastAPI构建的非阻塞式解决方案 在这个高度互联的时代,微服务架构和强大的API管理成为了开发高效应用程序的关键。今天,我们向您推荐一个开源项目,它巧妙地融合了FastAPI、API网关和JWT(JSON Web Token)认证,为您提供了一个灵活且可扩展的框架,以实现非阻塞I/O操作。 项目介绍 这个开源项目由三个主要部分组成:一个基于FastAPI的API网...

gitblog_00057的博客 626
上一篇: SpringCloud+Vue+Python人工智能(fastAPI,机器学习,深度学习)前后端架构各功能实现思路——主目录(持续更新)
下一篇: SpringCloud+Vue+Python人工智能(fastAPI,机器学习,深度学习)前后端架构各功能实现思路——SpringCloud后端——整合mybatis plus和代码生成器
ydenergy_殷志鹏
博客等级 码龄7年 5885粉丝 543原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ydenergy_殷志鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值