2020-11-04 22:42:07 +08:00
Tencent is pleased to support the open source community by making APIJSON available. < br / >
Copyright (C) 2020 THL A29 Limited, a Tencent company. All rights reserved. < br / >
This source code is licensed under the Apache License Version 2.0 < br / >
2016-11-26 16:37:28 +08:00
2019-01-07 14:58:35 +08:00
< h1 align = "center" style = "text-align:center;" >
APIJSON
< / h1 >
2021-05-17 13:03:29 +08:00
< p align = "center" > 🚀 A JSON Transmission Protocol and an ORM Library for providing APIs and Documents automatically. < / p >
2019-04-01 22:43:09 +08:00
2019-01-07 14:58:35 +08:00
< p align = "center" >
2020-09-15 22:12:10 +08:00
< a href = "https://github.com/APIJSON/APIJSON-Demo/tree/master/MySQL" > < img src = "https://img.shields.io/badge/MySQL-5.7%2B-brightgreen.svg?style=flat" > < / a >
< a href = "https://github.com/APIJSON/APIJSON-Demo/tree/master/PostgreSQL" > < img src = "https://img.shields.io/badge/PostgreSQL-9.5%2B-brightgreen.svg?style=flat" > < / a >
< a href = "https://github.com/APIJSON/APIJSON-Demo/tree/master/SQLServer" > < img src = "https://img.shields.io/badge/SQLServer-2012%2B-brightgreen.svg?style=flat" > < / a >
< a href = "https://github.com/APIJSON/APIJSON-Demo/tree/master/Oracle" > < img src = "https://img.shields.io/badge/Oracle-11%2B-brightgreen.svg?style=flat" > < / a >
< a href = "https://github.com/APIJSON/APIJSON-Demo/tree/master/MySQL" > < img src = "https://img.shields.io/badge/TiDB-2.1%2B-brightgreen.svg?style=flat" > < / a >
2019-01-07 14:58:35 +08:00
< / p >
< p align = "center" >
2020-09-15 22:12:10 +08:00
< a href = "https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server" > < img src = "https://img.shields.io/badge/Java-1.7%2B-brightgreen.svg?style=flat" > < / a >
2019-01-07 14:58:35 +08:00
< a href = "https://github.com/liaozb/APIJSON.NET" > < img src = "https://img.shields.io/badge/CSharp-2.1%2B-brightgreen.svg?style=flat" > < / a >
2020-01-10 00:29:19 +08:00
< a href = "https://github.com/qq547057827/apijson-php" > < img src = "https://img.shields.io/badge/PHP-7.0%2B-brightgreen.svg?style=flat" > < / a >
2019-09-07 23:42:54 +08:00
< a href = "https://github.com/kevinaskin/apijson-node" > < img src = "https://img.shields.io/badge/Node.js-ES6%2B-brightgreen.svg?style=flat" > < / a >
2020-01-10 00:29:19 +08:00
< a href = "https://github.com/crazytaxi824/APIJSON" > < img src = "https://img.shields.io/badge/Go-1.12.4%2B-brightgreen.svg?style=flat" > < / a >
< a href = "https://github.com/zhangchunlin/uliweb-apijson" > < img src = "https://img.shields.io/badge/Python-3%2B-brightgreen.svg?style=flat" > < / a >
2019-01-07 14:58:35 +08:00
< / p >
< p align = "center" >
2020-09-15 22:12:10 +08:00
< a href = "https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Android" > < img src = "https://img.shields.io/badge/Android-4.0%2B-brightgreen.svg?style=flat" > < / a >
< a href = "https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-iOS" > < img src = "https://img.shields.io/badge/iOS-7%2B-brightgreen.svg?style=flat" > < / a >
< a href = "https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-JavaScript" > < img src = "https://img.shields.io/badge/JavaScript-ES6%2B-brightgreen.svg?style=flat" > < / a >
2019-01-07 14:58:35 +08:00
< / p >
< p align = "center" >
2020-11-06 16:32:54 +08:00
< a href = "https://github.com/Tencent/APIJSON/blob/master/README.md" > 中文版 < / a >
< a href = "https://github.com/Tencent/APIJSON/blob/master/Document-English.md" > Document < / a >
2019-09-15 02:59:43 +08:00
< a href = "http://i.youku.com/apijson" > Video < / a >
2020-12-14 17:56:59 +08:00
< a href = "http://apijson.org/api" > Test < / a >
2019-01-07 14:58:35 +08:00
< / p >
< p align = "center" >
2020-11-06 16:32:54 +08:00
< img src = "https://raw.githubusercontent.com/Tencent/APIJSON/master/logo.png" / >
2019-01-07 14:58:35 +08:00
< / p >
2017-10-15 02:11:44 +08:00
< br / >
2019-11-07 09:42:18 +08:00
2019-11-07 09:41:28 +08:00
#### A better online document is available at https://apijsondocs.readthedocs.io/
2019-07-28 14:26:48 +08:00
* ### [1. About ](#1 )
* ### [2. Server-side deployment ](#2 )
2019-07-28 09:09:58 +08:00
* [2.1 Installing with Eclipse ](#2.1 )
2019-07-26 08:53:36 +08:00
* [2.2 Import MySQL table files ](#2.2 )
2020-09-15 22:12:10 +08:00
* [2.3 Installing with IntellIJ IDEA Ultimate ](#2.3 )`
2019-07-28 14:26:48 +08:00
* ### [3. Client-side deployment ](#3 )
* [3.1 For Android ](#3.1 )
* [3.2 For iOS ](#3.2 )
* [3.3 For Javascript ](#3.3 )
2019-07-30 13:16:45 +08:00
* ### [4.Contributing ](#4 )
* ### [5.Versioning ](#5 )
* ### [6.Author ](#6 )
* ### [7.Donating ](#7 )
2017-10-15 02:11:44 +08:00
2019-07-30 14:52:18 +08:00
< br / >
2019-07-31 15:17:15 +08:00
## <h2 id= "1">1. About <h2/>
2017-06-25 23:13:04 +08:00
2019-07-31 15:17:15 +08:00
APIJSON is a JSON based internet communication protocol and an ORM library that largely simplifies the process of back-end API development. It also allows users to get data more quickly with self-defined form and fewer endpoints requests.
2016-12-08 22:52:08 +08:00
2019-07-19 12:08:35 +08:00
### Features:
2019-07-30 14:52:18 +08:00
#### For getting data:
You can get any data by defining the specific information you want and send it to the server.< br / >
You can get different types of data by making just one request to the server. It's very convenient and flexible, and dosen't require different API endpoints with multiple requests.< br / >
2019-07-31 15:17:15 +08:00
It provides CRUD(read and write), Fuzzy Search, Remote Function Calls, etc. You can also save duplicate data, see request history,etc.< br / >
2019-07-30 14:55:16 +08:00
#### For API design:
2019-07-31 15:17:15 +08:00
APIJSON largely reduces API developers' workload by reducing most api design and documentation work.< br / >
With APIJSON, client developers will no longer be suffered from possible errors in documents, and it saves communication between server developers and client developers about APIs or documentations .< br / >
2019-07-30 14:52:18 +08:00
Server developers no longer need to worry about compatibility of APIs and documents with legacy apps.
2017-03-05 22:56:46 +08:00
2019-07-26 07:27:23 +08:00
### Examples:
2021-05-14 16:29:16 +08:00
2019-07-26 07:27:23 +08:00
#### Get a User
2017-08-20 13:29:02 +08:00
Request:
2021-05-14 16:29:16 +08:00
2021-06-07 00:16:43 +08:00
```js
2017-08-20 13:29:02 +08:00
{
"User":{
}
}
2021-05-14 16:29:16 +08:00
```
2017-08-20 13:29:02 +08:00
2018-01-16 22:26:08 +08:00
[Click here to test ](http://apijson.cn:8080/get/{"User":{}} )
2017-08-20 13:29:02 +08:00
Response:
2021-05-14 16:29:16 +08:00
2021-06-07 00:16:43 +08:00
```js
2017-08-20 13:29:02 +08:00
{
"User":{
"id":38710,
"sex":0,
"name":"TommyLemon",
"certified":true,
"tag":"Android& Java",
"phone":13000038710,
"head":"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000",
"date":1485948110000,
"pictureList":[
"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000",
"http://common.cnblogs.com/images/icon_weibo_24.png"
]
},
"code":200,
"msg":"success"
}
2021-05-14 16:29:16 +08:00
```
2017-08-20 13:29:02 +08:00
< br / >
#### Get an Array of Users
2021-05-14 16:29:16 +08:00
2017-08-20 13:29:02 +08:00
Request:
2021-05-14 16:29:16 +08:00
2021-06-07 00:16:43 +08:00
```js
2017-08-20 13:29:02 +08:00
{
"[]":{
"count":3, //just get 3 results
"User":{
"@column":"id,name" //just get ids and names
}
}
}
2021-05-14 16:29:16 +08:00
```
2017-08-20 13:29:02 +08:00
2018-01-16 22:26:08 +08:00
[Click here to test ](http://apijson.cn:8080/get/{"[]":{"count":3,"User":{"@column":"id,name"}}} )
2017-08-20 13:29:02 +08:00
Response:
2021-05-14 16:29:16 +08:00
2021-06-07 00:16:43 +08:00
```js
2017-08-20 13:29:02 +08:00
{
"[]":[
{
"User":{
"id":38710,
"name":"TommyLemon"
}
},
{
"User":{
"id":70793,
"name":"Strong"
}
},
{
"User":{
"id":82001,
"name":"Android"
}
}
],
"code":200,
"msg":"success"
}
2021-05-14 16:29:16 +08:00
```
2017-08-20 13:29:02 +08:00
< br / >
2021-06-07 00:17:53 +08:00
[Test it online ](http://apijson.cn/api )< br />
2017-10-15 02:11:44 +08:00
2019-07-30 14:52:18 +08:00
![](https://raw.githubusercontent.com/TommyLemon/StaticResources/master/APIJSON_Auto_get.jpg)
2017-10-15 02:11:44 +08:00
2019-07-30 14:52:18 +08:00
![](https://raw.githubusercontent.com/TommyLemon/StaticResources/master/APIJSON_Auto_code.jpg)
< p align = "center" >
2019-07-31 15:17:15 +08:00
## <h2 id="2">2.Server-side deployment<h2/>
2019-07-23 15:11:07 +08:00
You can use either Eclipse for JavaEE or IntelllJ IDEA Ultimate to make installation. For both, first download the project and save it to a path.
2017-10-15 02:11:44 +08:00
2019-07-28 14:26:48 +08:00
### <h3 id="2.1">2.1 Installing with Eclipse<h3/>
2016-11-26 16:37:28 +08:00
2019-07-26 08:53:36 +08:00
#### <h4 id="2.1.1">2.1.1 prerequisites<h4/>
2019-07-23 15:11:07 +08:00
Java Development Kit(JDK): 1.8 or above
[MAVEN ](https://maven.apache.org/download.cgi ): 3.0 or above
Mysql / Oracle
[Eclipse Java EE IDE ](https://www.eclipse.org/downloads/ )for Web Developers.Version: Mars.1 Release (4.5.1)
2016-11-26 16:37:28 +08:00
2019-07-26 08:53:36 +08:00
#### <h4 id="2.1.2">2.1.2 Opening the project with Eclipse<h4/>
2019-07-23 15:11:07 +08:00
Open Eclipse> *File > Import > Maven > Existing Maven Projects > Next > Browse > Select the path of the project you saved / APIJSON-Java-Server / APIJSONBoot > check pom.xml...apijson-demo > Finish*
2019-07-26 08:53:36 +08:00
#### <h4 id="2.1.3">2.1.3 Preparing the library used in demo<h4/>
2019-07-23 15:11:07 +08:00
In the menu at the right, click libs, right click apijson-orm.jar,click add as library. Apply the same to the rest *.jar* files in libs.
2016-12-17 20:28:51 +08:00
2019-07-26 08:53:36 +08:00
#### <h4 id="2.1.4">2.1.4 Configuration<h4/>
2019-07-23 15:11:07 +08:00
2019-07-26 08:53:36 +08:00
Open apijson.demo.server.DemoSQLConfig. In line 40-61, change return values of `getDBUri` ,`getDBAccount`,`getDBPassword`,`getSchema` to your own database.< br />
2021-05-14 16:29:16 +08:00
```java
@Override
public String getDBUri() {
//TODO: Change the return value to your own
return DATABASE_POSTGRESQL.equalsIgnoreCase(getDatabase()) ? "jdbc:postgresql://localhost:5432/postgres" : "jdbc:mysql://192.168.71.146:3306/";
}
@Override
public String getDBAccount() {
//TODO: Change the return value to your own
return DATABASE_POSTGRESQL.equalsIgnoreCase(getDatabase()) ? "postgres" : "root";
}
2019-07-26 08:53:36 +08:00
@Override
2021-05-14 16:29:16 +08:00
public String getDBPassword() {
2019-07-26 08:53:36 +08:00
//TODO: Change the return value to your own
2021-05-14 16:29:16 +08:00
return DATABASE_POSTGRESQL.equalsIgnoreCase(getDatabase()) ? null : "root";
}
@Override
public String getSchema() {
String s = super.getSchema();
return StringUtil.isEmpty(s, true) ? "thea" : s; //TODO: Change the return value to your own. For here,change "thea" to "your database's name"
}
```
2016-11-26 16:37:28 +08:00
2019-07-26 08:53:36 +08:00
**Note**: Instead of this step, you can also [import your database ](#2.2 ).
2019-07-23 15:11:07 +08:00
2019-07-26 08:53:36 +08:00
#### <h4 id="2.1.5">2.1.5 Running the application<h4/>
2016-12-09 22:34:54 +08:00
2019-07-23 15:11:07 +08:00
In Eclipse, in the menu on the top, click *Run>Run As>Java Application>choose APIJSONApplication>OK*
2016-11-26 16:37:28 +08:00
2019-07-26 08:53:36 +08:00
### <h3 id="2.2">2.2 Import MySQL table files<h3/>
This Server project needs [MySQL Server ](https://dev.mysql.com/downloads/mysql/ ) and [MySQLWorkbench ](https://www.mysql.com/products/workbench/ ). Please make sure that both of them are installed.< br />
2017-10-15 02:11:44 +08:00
2019-07-23 15:11:07 +08:00
My config is Windows 7 + MySQL Community Server 5.7.16 + MySQLWorkbench 6.3.7 and OSX EI Capitan + MySQL Community Server 5.7.16 + MySQLWorkbench 6.3.8. Systems and softwares are all 64 bit.
2016-11-26 16:37:28 +08:00
2019-07-26 08:53:36 +08:00
Start *MySQLWorkbench > Enter a connection > Click Server menu > Data Import > Select the path of your .sql file > Start Import > Refresh SCHEMAS* . Now you should see tables are added successfully.
2016-11-26 16:37:28 +08:00
2019-07-28 14:26:48 +08:00
### <h3 id="2.3">2.3 Installing with IntellIJ IDEA Ultimate<h3/>
2019-07-23 15:11:07 +08:00
2019-07-26 08:53:36 +08:00
#### <h4 id="2.3.1">2.3.1 Opening the project<h4/>
2016-12-07 22:31:45 +08:00
2019-07-23 15:11:07 +08:00
*Open > Select the path of the project/APIJSON-Java-Server/APIJSONBoot > OK*
2016-12-07 22:31:45 +08:00
2019-07-26 08:53:36 +08:00
#### <h4 id="2.3.2">2.3.2 Preparing the library used in demo<h4/>
2019-07-23 15:11:07 +08:00
In libs, right-click *apijson-orm.jar >Add as Library>OK* . Apply this to all *.jar* files in libs.
2016-12-07 22:31:45 +08:00
2019-07-26 08:53:36 +08:00
#### <h4 id="2.3.3">2.3.3 Running the application<h4/>
2019-07-23 15:11:07 +08:00
In the menu on the top: *Run > Run > Edit Configurations > + > Application > Configuration* < br />
In *Main class* , choose *APIJSONApplication* ;< br />
In *Use classpath of module* , choose *apijson-demo* .< br />
Click *Run* in the bottom.
2016-12-07 22:31:45 +08:00
2019-07-23 15:11:07 +08:00
**Note**: After running, you should see APIJSON test logs and in the last, it would show ‘ APIJSON已启动’ . If it shows ‘ address already in use’ , that means port 8080 has been used . You need tochange the port. See [how to change ports for a Spring Boot Application. ](https://stackoverflow.com/questions/21083170/how-to-configure-port-for-a-spring-boot-application )
2016-12-07 22:31:45 +08:00
2019-07-30 14:52:18 +08:00
< br / >
2016-12-07 22:31:45 +08:00
2019-07-31 15:17:15 +08:00
## <h2 id="3">3. Client-side deployment<h2/>
2019-07-28 14:26:48 +08:00
### <h3 id="3.1">3.1 For Android<h3/>
Make sure you have either [ADT Bundle ](https://stuff.mit.edu/afs/sipb/project/android/docs/sdk/installing/bundle.html ) or [Android Studio ](https://developer.android.com/studio ) installed.< br />
2016-12-17 20:34:41 +08:00
2019-07-28 09:09:58 +08:00
My config: Windows 7 + JDK 1.7.0_71 + ADT Bundle 20140702 + Android Studio 2.2 and OSX EI Capitan + (JDK 1.7.0_71 + ADT Bundle 20140702) + (JDK 1.8.0_91 + Android Studio 2.1.2). All the systems and software are 64 bit.< br / >
2016-11-26 16:37:28 +08:00
2019-07-28 09:09:58 +08:00
* 1.Importing< br />
*Open an existing Android Studio project > Select the path of APIJSON-Master/APIJSON-Android/APIJSONApp(or APIJSONTest) > OK*
2016-12-07 22:31:45 +08:00
2019-07-28 09:09:58 +08:00
* 2.Running< br />
*Run > Run app*
2016-12-07 22:31:45 +08:00
2019-07-30 14:52:18 +08:00
* 3.Testing < br />
2019-07-28 09:09:58 +08:00
In the browser, send a request to the server. It should return with the result.
If the default url is not available, change it to an available one, such as an IPV4 address that is running the server of the APIJSON project. Then click the request button again.
2019-07-28 14:26:48 +08:00
### <h3 id="3.2">3.2 For iOS<h3/>
Open xCode, then *APIJSON-Master/APIJSON-iOS/APIJSON-Swift > Open* < br />
In xCode, *Product > Run*
### <h3 id="3.3">3.3 For Javascript<h3/>
You can use either an IDE or text editor like sublime, Atom, etc. Webstorm is recommended.< br / >
While using a text editor, you just open the .html file in the APIJSON-JS folder.< br / >
You can also open it with Vue javascript framework. Click [here ](https://vuejs.org/ ) to learn more.
2016-11-26 16:37:28 +08:00
2019-07-31 15:17:15 +08:00
## <h2 id="4">4. Contributing<h2/>
2019-07-30 13:16:45 +08:00
2020-11-06 16:32:54 +08:00
We are always looking for more developers to help implementing new features, fix bugs, etc. Please have a look at the [open issues ](https://github.com/Tencent/APIJSON/issues ) before opening a new one.< br />
2016-11-26 17:07:54 +08:00
2019-07-30 13:16:45 +08:00
Fork the project and send a pull request.< br / >
2016-11-26 17:07:54 +08:00
2019-07-31 15:17:15 +08:00
Please also ⭐Star the project!
2019-07-30 13:16:45 +08:00
< br / >
2017-10-15 02:11:44 +08:00
2019-07-31 15:17:15 +08:00
## <h2 id="5">5. Versioning<h2/>
2019-07-30 13:16:45 +08:00
2020-11-06 16:32:54 +08:00
See the latest version [here ](https://github.com/Tencent/APIJSON/commits/master ).
2017-08-20 14:57:25 +08:00
2019-07-30 14:52:18 +08:00
< br / >
2019-07-31 15:17:15 +08:00
## <h2 id="6">6. Auhtor<h2/>
2019-07-30 13:16:45 +08:00
2020-09-26 02:49:44 +08:00
Check out the author's [github account ](https://github.com/TommyLemon ) to see more related projects.< br >
2017-08-20 14:57:25 +08:00
2020-11-06 16:32:54 +08:00
If you have any questions or suggestions, you can [create an issue ](https://github.com/Tencent/APIJSON/issues ) or [send me an e-mail ](mailto:tommylemon@qq.com ).
2020-09-26 02:47:26 +08:00
< br / >
2019-07-30 14:52:18 +08:00
< br / >
2017-10-15 02:11:44 +08:00
2020-09-26 02:47:26 +08:00
### Users of this project:
2016-11-26 16:37:28 +08:00
2021-09-02 21:44:19 +08:00
https://github.com/Tencent/APIJSON/issues/187
2020-09-26 02:47:26 +08:00
< div style = "float:left" >
2021-09-02 21:44:19 +08:00
< a href = "https://ieg.tencent.com" > < img src = "https://user-images.githubusercontent.com/5738175/126525534-461c3e33-57b1-4630-af7f-f1238ca4ab98.png" height = "75" > < / a >
< a href = "https://cloud.tencent.com" > < img src = "https://user-images.githubusercontent.com/5738175/126525251-c05e64c6-6b60-4457-a46e-dea7dcfb80cd.png" height = "75" > < / a >
< a href = "https://www.tencentmusic.com" > < img src = "https://user-images.githubusercontent.com/5738175/126524713-b38a8f02-3086-45d4-91db-6f5389811d51.png" height = "75" > < / a >
< br / >
2021-10-21 14:06:48 +08:00
< a href = "http://www.transsion.com" > < img src = "http://apijson.cn/images/users/www.transsion.com.jpeg" height = "75" > < / a >
< a href = "http://shebaochina.com" > < img src = "http://apijson.cn/images/users/shebaochina.com.png" height = "75" > < / a >
2021-10-25 14:30:35 +08:00
< a href = "http://www.xmfish.com" > < img src = "http://apijson.cn/images/users/www.xmfish.com.gif" height = "75" > < / a >
< a href = "http://www.xxwolo.com" > < img src = "http://apijson.cn/images/users/www.xxwolo.com.jpeg" height = "75" > < / a >
2021-09-02 21:44:19 +08:00
< a href = "http://t-think.com" > < img src = "http://apijson.cn/images/t-think.com.png" height = "75" > < / a >
2021-10-21 14:06:48 +08:00
< a href = "http://xm.juhu.com" > < img src = "http://apijson.cn/images/users/xm.juhu.com.png" height = "75" > < / a >
2021-10-25 14:30:35 +08:00
< a href = "http://www.aipaipai-inc.com" > < img src = "http://apijson.cn/images/users/www.aipaipai-inc.com.png" height = "75" > < / a >
< a href = "http://www.8soo.com" > < img src = "http://apijson.cn/images/users/www.8sso.com.jpeg" height = "75" > < / a >
< a href = "https://www.shulian8.com" > < img src = "http://apijson.cn/images/users/www.shulian8.com.png" height = "75" > < / a >
< a href = "http://www.hngtrust.com" > < img src = "http://apijson.cn/images/users/www.hngtrust.com.png" height = "75" > < / a >
< a href = "http://www.hec-bang.com" > < img src = "http://apijson.cn/images/users/www.hec-bang.com.png" height = "75" > < / a >
< a href = "https://www.toutou.com.cn" > < img src = "http://apijson.cn/images/users/www.toutou.com.cn.jpg" height = "75" > < / a >
2019-07-30 13:16:45 +08:00
< br / >
2020-09-26 02:47:26 +08:00
2020-11-06 16:32:54 +08:00
[More APIJSON Users ](https://github.com/Tencent/APIJSON/issues/73 )
2020-09-26 02:47:26 +08:00
2020-11-06 16:12:32 +08:00
### Contributers of APIJSON:
2021-11-15 00:39:08 +08:00
Contributers for the APIJSON core project(6 Tencent engineers, 1 Zhihu architect, 1 YTO Express engineer, etc.): < br / >
2021-09-02 21:37:31 +08:00
https://github.com/Tencent/APIJSON/blob/master/CONTRIBUTING.md < br / >
2020-02-27 21:59:33 +08:00
< div style = "float:left" >
< a href = "https://github.com/TommyLemon" > < img src = "https://avatars1.githubusercontent.com/u/5738175?s=400&u=5b2f372f0c03fae8f249d2d754e38971c2e17b92&v=4"
2021-03-19 15:35:37 +08:00
height="54" width="54" >< / a >
< a href = "https://github.com/Tencent/APIJSON/pull/41" > < img src = "https://avatars0.githubusercontent.com/u/39320217?s=460&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/119" > < img src = "https://avatars1.githubusercontent.com/u/25604004?s=460&v=4" height = "54" width = "54" > < / a >
2021-06-07 00:25:36 +08:00
< a href = "https://github.com/Tencent/APIJSON/pull/223" > < img src = "https://avatars.githubusercontent.com/u/49295281?v=4" height = "54" width = "54" > < / a >
2021-03-19 15:35:37 +08:00
< a href = "https://github.com/Tencent/APIJSON/pull/43" > < img src = "https://avatars0.githubusercontent.com/u/23173448?s=460&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/47" > < img src = "https://avatars2.githubusercontent.com/u/31512287?s=400&v=4" height = "54" width = "54" > < / a >
2021-06-07 00:25:36 +08:00
< a href = "https://github.com/Tencent/APIJSON/pull/212" > < img src = "https://avatars.githubusercontent.com/u/8936328?v=4" height = "54" width = "54" > < / a >
2021-03-19 15:35:37 +08:00
< a href = "https://github.com/Tencent/APIJSON/pull/70" > < img src = "https://avatars1.githubusercontent.com/u/22228201?s=400&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/74" > < img src = "https://avatars0.githubusercontent.com/u/1274536?s=400&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/92" > < img src = "https://avatars3.githubusercontent.com/u/6327228?s=400&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/103" > < img src = "https://avatars0.githubusercontent.com/u/25990237?s=400&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/194" > < img src = "https://avatars0.githubusercontent.com/u/3982329?s=460&v=4" height = "54" width = "54" > < / a >
2021-06-07 00:25:36 +08:00
< a href = "https://github.com/Tencent/APIJSON/pull/219" > < img src = "https://avatars.githubusercontent.com/u/7135770?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/222" > < img src = "https://avatars.githubusercontent.com/u/49233056?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/221" > < img src = "https://avatars.githubusercontent.com/u/17545585?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/217" > < img src = "https://avatars.githubusercontent.com/u/30771966?v=4" height = "54" width = "54" > < / a >
2021-03-19 15:35:37 +08:00
< a href = "https://github.com/Tencent/APIJSON/pull/190" > < img src = "https://avatars3.githubusercontent.com/u/25056767?s=460&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/69" > < img src = "https://avatars0.githubusercontent.com/u/13880474?s=400&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/72" > < img src = "https://avatars1.githubusercontent.com/u/10663804?s=400&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/33" > < img src = "https://avatars1.githubusercontent.com/u/5328313?s=460&v=4" height = "54" width = "54" > < / a >
2021-06-07 00:25:36 +08:00
< a href = "https://github.com/Tencent/APIJSON/pull/235" > < img src = "https://avatars.githubusercontent.com/u/17243165?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/233" > < img src = "https://avatars.githubusercontent.com/u/1252459?v=4" height = "54" width = "54" > < / a >
2021-09-02 21:37:31 +08:00
< a href = "https://github.com/Tencent/APIJSON/pull/250" > < img src = "https://avatars.githubusercontent.com/u/44310040?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/253" > < img src = "https://avatars.githubusercontent.com/u/19265050?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/278" > < img src = "https://avatars.githubusercontent.com/u/4099373?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/279" > < img src = "https://avatars.githubusercontent.com/u/28685375?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/280" > < img src = "https://avatars.githubusercontent.com/u/60541766?v=4" height = "54" width = "54" > < / a >
2021-10-25 14:30:35 +08:00
< a href = "https://github.com/Tencent/APIJSON/pull/283" > < img src = "https://avatars.githubusercontent.com/u/50007106?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/284" > < img src = "https://avatars.githubusercontent.com/u/45117061?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/285" > < img src = "https://avatars.githubusercontent.com/u/32100214?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/287" > < img src = "https://avatars.githubusercontent.com/u/62465397?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/288" > < img src = "https://avatars.githubusercontent.com/u/55579125?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/291" > < img src = "https://avatars.githubusercontent.com/u/17522475?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/293" > < img src = "https://avatars.githubusercontent.com/u/53826144?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/295" > < img src = "https://avatars.githubusercontent.com/u/11210385?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/311" > < img src = "https://avatars.githubusercontent.com/u/22066942?v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Tencent/APIJSON/pull/325" > < img src = "https://avatars.githubusercontent.com/u/33931153?v=4" height = "54" width = "54" > < / a >
2021-09-02 21:37:31 +08:00
< / div >
< br / >
2021-11-15 00:39:08 +08:00
Authors of other projects for ecosystem of APIJSON(2 Tencent engineers, 1 BAT(Baidu/Alibaba/Tencent) specialist, 1 Bytedance(TikTok) engineer, etc.): < br / >
2021-09-02 21:37:31 +08:00
https://github.com/search?o=desc& q=apijson& s=stars& type=Repositories < br / >
https://search.gitee.com/?skin=rec& type=repository& q=apijson& sort=stars_count < br / >
< div style = "float:left" >
2021-03-19 15:35:37 +08:00
< a href = "https://github.com/APIJSON/apijson-orm" > < img src = "https://avatars.githubusercontent.com/u/41146037?s=200&v=4"
height="54" width="54" >< / a >
2020-02-27 21:59:33 +08:00
< a href = "https://github.com/liaozb/APIJSON.NET" > < img src = "https://avatars3.githubusercontent.com/u/12622501?s=400&v=4"
2021-09-02 21:37:31 +08:00
height="54" width="54" >< / a >
< a href = "https://gitee.com/tiangao/apijson-go" > < img src = "https://portrait.gitee.com/uploads/avatars/user/43/130007_tiangao_1578918889.png!avatar200"
2021-03-19 15:35:37 +08:00
height="54" width="54" >< / a >
< a href = "https://github.com/qq547057827/apijson-php" > < img src = "https://avatars3.githubusercontent.com/u/1657532?s=400&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/xianglong111/json-api" > < img src = "https://avatars.githubusercontent.com/u/9738743?s=460&v=4" height = "54" width = "54" > < / a >
2020-02-27 21:59:33 +08:00
< a href = "https://github.com/kevinaskin/apijson-node" > < img src = "https://avatars3.githubusercontent.com/u/20034891?s=400&v=4"
2021-03-19 15:35:37 +08:00
height="54" width="54" >< / a >
2020-02-27 21:59:33 +08:00
< a href = "https://github.com/TEsTsLA/apijson" > < img src = "https://avatars2.githubusercontent.com/u/17310639?s=400&v=4"
2021-03-19 15:35:37 +08:00
height="54" width="54" >< / a >
< a href = "https://github.com/zhangchunlin/uliweb-apijson" > < img src = "https://avatars0.githubusercontent.com/u/359281?s=400&v=4" height = "54" width = "54" > < / a >
2020-02-27 21:59:33 +08:00
< a href = "https://github.com/crazytaxi824/APIJSON" > < img src = "https://avatars3.githubusercontent.com/u/16500384?s=400&v=4"
2021-03-19 15:35:37 +08:00
height="54" width="54" >< / a >
< a href = "https://github.com/luckyxiaomo/APIJSONKOTLIN" > < img src = "https://avatars2.githubusercontent.com/u/42728605?s=400&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/Zerounary/APIJSONParser" > < img src = "https://avatars2.githubusercontent.com/u/31512287?s=400&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/APIJSON/apijson-framework" > < img src = "https://avatars.githubusercontent.com/u/41146037?s=200&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/APIJSON/APIJSON-Demo" > < img src = "https://avatars.githubusercontent.com/u/41146037?s=200&v=4" height = "54" width = "54" > < / a >
< a href = "https://gitee.com/greyzeng/apijson-sample" > < img src = "https://portrait.gitee.com/uploads/avatars/user/367/1102309_greyzeng_1578940307.png!avatar200" height = "54" width = "54" > < / a >
2020-02-27 21:59:33 +08:00
< a href = "https://gitee.com/zhiyuexin/ApiJsonByJFinal" > < img src = "https://avatar.gitee.com/uploads/90/490_zhiyuexin.jpg!avatar100?1368664499"
2021-03-19 15:35:37 +08:00
height="54" width="54" >< / a >
< a href = "https://github.com/Airforce-1/SpringServer1.2-APIJSON" > < img src = "https://avatars3.githubusercontent.com/u/6212428?s=400&v=4" height = "54" width = "54" > < / a >
< a href = "https://gitee.com/JinShuProject/JinShuApiJson" > < img src = "https://portrait.gitee.com/uploads/avatars/user/232/698672_maxiaoji_1578931055.jpg!avatar200" height = "54" width = "54" > < / a >
< a href = "https://github.com/TommyLemon/APIJSON-Android-RxJava" > < img src = "https://avatars1.githubusercontent.com/u/5738175?s=400&u=5b2f372f0c03fae8f249d2d754e38971c2e17b92&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/TommyLemon/APIAuto" > < img src = "https://avatars1.githubusercontent.com/u/5738175?s=400&u=5b2f372f0c03fae8f249d2d754e38971c2e17b92&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/TommyLemon/UnitAuto" > < img src = "https://avatars1.githubusercontent.com/u/5738175?s=400&u=5b2f372f0c03fae8f249d2d754e38971c2e17b92&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/vincentCheng/apijson-doc" > < img src = "https://avatars3.githubusercontent.com/u/6327228?s=400&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/ruoranw/APIJSONdocs" > < img src = "https://avatars.githubusercontent.com/u/25990237?s=460&u=2143b95e5ed39185f2a03d66fbb5638795e16d5a&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/APIJSON/apijson.org" > < img src = "https://avatars.githubusercontent.com/u/41146037?s=200&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/pengxianggui/apijson-builder" > < img src = "https://avatars2.githubusercontent.com/u/16299169?s=460&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/APIJSON/AbsGrade" > < img src = "https://avatars.githubusercontent.com/u/41146037?s=200&v=4" height = "54" width = "54" > < / a >
< a href = "https://github.com/TommyLemon/Android-ZBLibrary" > < img src = "https://avatars1.githubusercontent.com/u/5738175?s=400&u=5b2f372f0c03fae8f249d2d754e38971c2e17b92&v=4" height = "54" width = "54" > < / a >
2021-09-02 21:37:31 +08:00
< a href = "https://github.com/APIJSON/apijson_todo_demo" > < img src = "https://avatars.githubusercontent.com/u/17522475?v=4" height = "54" width = "54" > < / a >
2019-07-30 13:16:45 +08:00
< / div >
2020-11-06 16:12:32 +08:00
< br / >
2020-02-27 21:59:33 +08:00
2021-09-02 21:37:31 +08:00
< br / >
Thanks to all contributers of APIJSON!
2019-07-30 13:16:45 +08:00
< br / >