GithubHelp home page GithubHelp logo

qt-pay / djangoapigateway Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rdyorg/djangoapigateway

0.0 0.0 0.0 4.88 MB

django后台网关

Home Page: http://39.103.236.234:10001/admin

Python 100.00%

djangoapigateway's Introduction

DesignArchitecture 系统设计架构

设计说明

1.api服务,配置好对应内容之后,进行一次接口测试,将请求体和响应体进行格式化,对参数进行说明配置

1.1服务,包含正式环境和测试环境host信息,可以在上线时切换为正式环境

2.如果是转发,则直接将结果进行返回

3.如果是编排,需要添加步骤信息,每个步骤内的api接口使用协程进行请求,同一个步骤内的请求体和响应体无法共享使用,在完成一个步骤的配置后,将请求体和响应体进行命名,将结果信息进行可视化配置,方便后续步骤进行配置响应体结构

4.路由上包含上线和下线操作,路由path路径唯一

5.插件,作用在网关上的,对当前网关下的所有服务,对当前网关下的所有服务都有效

工程需求

  • Mysql

数据存储

  • Redis

优化查询,保存临时记录,主要是结构化的数据

启动信息

  • 修改根目录下的config.py文件内的参数信息

  • 启动脚本:uvicorn django_api_gateway.asgi:application --reload --host 0.0.0.0 --port 10001

Readme

Readme

重中之重

当前市面上的所有的api网关,如果有聚合服务,在对响应体进行聚合时,都是通过.操作进行配置,操作起来不方便

  • 说明

    • 此方案对数据结构操作比较多,需要考虑到数据的操作的复杂性,空间和时间
  • 解决方案

    • 采用可视化配置,对接口使用预请求,将响应体进行中文描述配置[一个api接口文档的业务]
    • 把多个接口的响应体进行简单json组装,加上唯一标识信息
    • 通过树形组件,对响应体进行结构重组,可以对树形结构进行操作
    • 通过添加函数组织,对响应体的内容进行二次操作,比如:
      • sum(data.age), max(data.age), min(), count(), len()
      • list(data.name) => 将当前对象下的某个属性单独抽离为另外一个类型为列表的数据

引用

  • jmespath 【根据一定格式处理json数据】

链接:https://github.com/jmespath/jmespath.py

Readme

djangoapigateway's People

Contributors

runningfaster avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.