推荐腾讯开源的零代码、全功能、强安全API架构

简介: APIJSON 是一种专为 API 而生的 JSON 网络传输协议 以及 基于这套协议实现的 ORM 库。

今天给大家推荐一个腾讯开源的ORM库:APIJson。

项目简介

APIJSON 是一种专为 API 而生的 JSON 网络传输协议 以及 基于这套协议实现的 ORM 库。

自动实现各自增删改查提供万能的通用接口,零代码实现各自需求。可以大大减少工作量,减少前后端的沟通工作,简化项目开发流程,提升开发效率。

这款系统特别适合初创项目、公司内部项目、小程序、企业网站等一些业务项目的简单的系统。

技术架构

1、开源语言:Java。

2、支持数据库:SqlServer,MySQL、Oracle等主流数据库。

项目结构

图片

**功能特点

**

对于后端

  • 提供万能通用接口,大部分 HTTP API 不用再写
  • 零代码增删改查、各种跨库连表、JOIN 嵌套子查询等
  • 自动生成文档,不用再编写和维护,且自动静态检查
  • 自动校验权限、自动管理版本、自动防 SQL 注入
  • 开放 HTTP API 无需划分版本,始终保持兼容

对于前端

  • 不用再向后端催接口、求文档
  • 数据和结构完全定制,要啥有啥
  • 看请求知结果,所求即所得
  • 可一次获取任何数据、任何结构
  • 能去除多余数据,节省流量提高速度

示例

简单查询

接口:http://apijson.cn:8080/get

请求Json
{
  "Moment": {
    "id": 12
  }
}
结果
{
  "Moment": {
    "content": "1111534034",
    "date": "2017-02-08 16:06:11.0",
    "id": 12,
    "pictureList": [
      "http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg",
      "http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg"
    ],
    "praiseUserIdList": [70793, 93793, 82001],
    "userId": 70793
  },
  "code": 200,
  "msg": "success"
}

多表关联查询

请求Json
{
  "[]": {
    "Moment": {
      "@column": "id,date,userId",
      "id": 12
    },
    "User": {
      "id@": "/Moment/userId",
      "@column": "id,name"
    }
  }
}
结果
{
  "[]": [
    {
      "Moment": {
        "date": "2017-02-08 16:06:11.0",
        "id": 12,
        "userId": 70793
      },
      "User": {
        "id": 70793,
        "name": "Strong"
      }
    }
  ],
  "code": 200,
  "msg": "success"
}

字段过滤

请求Json
{
  "Moment": {
    "id": 12,
    "@column": "content"
  }
}
结果
{
  "Moment": {
    "content": "1111534034"
  },
  "code": 200,
  "msg": "success"
}

分页

请求Json
{
  "[]": {
    "Moment": {
      "@column": "id,date,content,praiseUserIdList"
    },
    "page": 0,
    "count": 5
  }
}
结果
{ "total": 12, "code": 200, "msg": "success" }

新增记录

接口
http://apijson.cn:8080/post
请求Json
{
  "Moment": {
    "content": "今天天气不错,到处都是提拉米苏雪",
    "userId": 38710
  },
  "tag": "Moment"
}
结果
{
  "Moment": {
    "code": 200,
    "count": 1,
    "id": 1544520921923,
    "msg": "success"
  },
  "code": 200,
  "msg": "success"
}

修改记录

接口
http://apijson.cn:8080/put
请求Json
{
  "Moment": {
    "id": 1544520921923,
    "content": "海洋动物数量减少,如果非吃不可,不点杀也是在保护它们"
  },
  "tag": "Moment"
}
结果
{
  "Moment": {
    "code": 200,
    "count": 1,
    "id": 1544520921923,
    "msg": "success"
  },
  "code": 200,
  "msg": "success"
}

删除记录

接口
http://apijson.cn:8080/delete
请求Json
{
  "Moment": {
    "id": 1544520921923
  },
  "tag": "Moment"
}
结果
{
  "code": 200,
  "msg": "success"
}
项目地址: https://github.com/Tencent/APIJSO
相关文章
|
14天前
|
调度
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构(二)
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构
|
23小时前
|
监控 JavaScript 安全
构建微服务架构下的API网关
【4月更文挑战第15天】在微服务架构中,API网关扮演着至关重要的角色。它作为系统的唯一入口,不仅负责请求的路由、负载均衡和认证授权,还涉及到监控、日志记录和服务熔断等关键功能。本文将探讨如何构建一个高效且可靠的API网关,涵盖其设计原则、核心组件以及实现策略,旨在为后端开发人员提供一套实用的指导方案。
14 4
|
14天前
|
程序员 Linux
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构(三)
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构
|
14天前
|
Linux
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构(一)
【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构
|
22天前
|
程序员 Python
类的设计奥秘:从代码到架构的科普全解
类的设计奥秘:从代码到架构的科普全解
11 2
|
23天前
|
消息中间件 缓存 API
微服务架构下的API网关性能优化实践
在现代的软件开发中,微服务架构因其灵活性和可扩展性被广泛采用。随着服务的细分与增多,API网关作为微服务架构中的关键组件,承担着请求路由、负载均衡、权限校验等重要职责。然而,随着流量的增长和业务复杂度的提升,API网关很容易成为性能瓶颈。本文将深入探讨API网关在微服务环境中的性能优化策略,包括缓存机制、连接池管理、异步处理等方面的具体实现,旨在为开发者提供实用的性能提升指导。
|
25天前
|
缓存 负载均衡 监控
构建高效微服务架构:API网关的作用与实践
【2月更文挑战第31天】 在当今的软件开发领域,微服务架构已成为实现系统高度模块化和易于扩展的首选方法。然而,随着微服务数量的增加,确保通信效率和管理一致性变得尤为重要。本文将探讨API网关在微服务架构中的核心角色,包括其在请求路由、安全性、负载均衡以及聚合功能方面的重要性。我们将通过具体案例分析,展示如何利用API网关优化后端服务,并讨论实施过程中的最佳实践和常见挑战。
|
26天前
|
监控 安全 数据管理
现代化后端开发:微服务架构下的数据管理与安全挑战
随着信息技术的不断发展,现代化后端开发正日益注重微服务架构下的数据管理与安全挑战。本文将探讨微服务架构在后端开发中的应用,重点关注数据管理和安全方面的挑战,并提供相应的解决方案。
|
27天前
|
消息中间件 并行计算 网络协议
探秘高效Linux C/C++项目架构:让进程、线程和通信方式助力你的代码飞跃
探秘高效Linux C/C++项目架构:让进程、线程和通信方式助力你的代码飞跃
33 0
|
28天前
|
人工智能 JavaScript API
互联网人的福利!『昆仑天工』4款AI产品开源!提供API对接!
互联网人的福利!『昆仑天工』4款AI产品开源!提供API对接!
157 0