wanghaisheng / best-practices-of-api-creation-for-hit

本文主要介绍的是 ` API automatic building and creation 云原生架构下接口自动化构建在医疗信息化行业的应用实战`
10 stars 5 forks source link

notes 零开发实现接口 #1

Open wanghaisheng opened 6 years ago

wanghaisheng commented 6 years ago

https://github.com/graphcool/prisma

wanghaisheng commented 6 years ago

IDE

wanghaisheng commented 6 years ago

https://github.com/sequelize/sequelize

wanghaisheng commented 6 years ago

https://github.com/mickhansen/graphql-sequelize

wanghaisheng commented 6 years ago

https://github.com/rse/graphql-tools-sequelize

wanghaisheng commented 6 years ago

https://github.com/Shyam-Chen/Backend-Starter-Kit

wanghaisheng commented 5 years ago

apijson apijson+graphql

wanghaisheng commented 5 years ago

The following is a list of tools that automatically expose a REST, GraphQL, or another kind of API for your database, as well as databases with a built-in HTTP API.

Project name/link Database(s) supported API type Implementation language License GitHub stats Notes
ArangoDB ArangoDB REST C++ Apache 2.0 7040 ★; 44129 commits, latest 2019-01-14 A database with a built-in REST API. Official Docker image.
CouchDB CouchDB REST Erlang Apache 2.0 4010 ★; 11526 commits, latest 2019-01-14 A database with a built-in REST API. Official Docker image.
Datasette SQLite 3 REST Python 3 Apache 2.0 2164 ★; 592 commits, latest 2019-01-13 Read-only. Official Docker image.
Dgraph Dgraph GraphQL+-, a GraphQL derivative Go Apache 2.0 7323 ★; 2842 commits, latest 2019-01-15 A database with a built-in GraphQL-like API. Official Docker image.
DreamFactory MySQL, PostgreSQL, SQLite, MongoDB, CouchDB, and others. REST PHP 5 Apache 2.0, proprietary (optional extras) 892 ★; 813 commits, latest 2018-09-19 Official Docker image.
Eve MongoDB; extensions for Elasticsearch, Neo4j, SQLAlchemy (SQL databases). REST Python 2/3 BSD (three-clause) 5423 ★; 2910 commits, latest 2018-10-11 The SQLAlchemy extension isn't automatic. It requires the user to write SQLAlchemy mappings.
Hasura GraphQL Engine PostgreSQL GraphQL Haskell GNU AGPLv3 5959 ★; 560 commits, latest 2019-01-15 Official Docker image.
HTSQL MySQL, PostgreSQL, SQLite (free); Oracle, MS SQL (proprietary) REST Python 2 GNU AGPLv3, proprietary (Oracle and MS SQL support) n/a
neo4j-graphql Neo4j GraphQL Kotlin Apache 2.0 279 ★; 142 commits, latest 2019-01-09 Can generate a GraphQL API from an existing database or derive a new database model from a GraphQL schema and auto-generate the resolvers.
OrientDB OrientDB REST Java Apache 2.0 3730 ★; 17650 commits, latest 2019-01-14 A database with a built-in REST API. Official Docker image.
PHP-CRUD-API MySQL, PostgreSQL, MS SQL Server. REST PHP 7 MIT 1836 ★; 1282 commits, latest 2018-12-11 Supports GIS + automatic OpenAPI 3.0 docs.
PostGraphile PostgreSQL GraphQL TypeScript (Node.js) MIT 6565 ★; 1025 commits, latest 2019-01-11 Formerly "PostGraphQL", Official Docker image.
PostgREST PostgreSQL REST Haskell MIT 11722 ★; 1441 commits, latest 2018-12-12 Official Docker image.
pREST PostgreSQL REST Go MIT 1916 ★; 440 commits, latest 2018-09-04 Official Docker image.
RESTHeart MongoDB REST Java GNU AGPLv3 512 ★; 1596 commits, latest 2019-01-03 Official Docker image.
sandman2 All supported by SQLAlchemy (MySQL, PostgreSQL, SQLite, Oracle, MS SQL, and others). REST Python 2/3 Apache 2.0 876 ★; 159 commits, latest 2019-01-10 Official Docker image.
subZero PostgreSQL REST and GraphQL Haskell, Lua Proprietary n/a
tuql SQLite 3 or SQL infile GraphQL JavaScript (Node.js) MIT 346 ★; 52 commits, latest 2018-02-16
Webdis Redis REST C BSD (two-clause) 2081 ★; 399 commits, latest 2018-08-11 Supports pub/sub with chunked transfer encoding and WebSockets.
xmysql MySQL REST JavaScript (Node.js) MIT 3431 ★; 266 commits, latest 2018-09-28 Official Docker image.
ZenQuery PostgreSQL, MySQL, IBM Db2, Oracle Database, Microsoft SQL Server and others REST Java (JavaScript for the front-end) Apache 2.0 37 ★; 283 commits, latest 2018-10-16 Read-only.

GitHub stats updated 2019-01-15. The commit count and the latest commit date are for the default branch (usually master).

Related projects

For projects that depend on or enhance those on the list see the Related projects wiki page. Feel free to add yours.

Contributing

Your contributions are welcome! Please submit a pull request or create an issue to add a new project to the list or to update an existing one. See CONTRIBUTING for the details.

License

This document and the data in data/ are licensed under the Creative Commons Attribution 4.0 International License. By contributing you agree to release your contribution under this license.

wanghaisheng commented 5 years ago
wanghaisheng commented 5 years ago

https://subzero.cloud/ Stop spending months developing backend APIs for your apps. With subZero, you’ll be ready in a few days — and you can get back to building your product.

Move Fast

Imagine being able to have your API 80% ready after a few quick steps. Define your tables and views, set constraints on your columns, grant privileges to users, and you’re there — all while using standard SQL statements. To finish the last 20%, you can use real languages to implement your custom logic, not just SDKs and webhooks.

Stay Flexible

By adopting GraphQL as the language for communication with your API, you remove any coupling between your frontend code and the backend. Combined with the ability to choose any database schema you like, you get a no lock in guarantee.

Own Your Data

Unlike other solutions, we never require you to store your data in a proprietary system. The data lives in your database, in the format you choose — just like it’s supposed to. If you already have your database and data, you don’t have to import it anywhere or change the structure. subZero will take what you have and work with it, without any extra steps.

Unparalleled development speed

We’ve gone through the process of building APIs and we know how long it takes to get everything set up. You always think you’ll be able to get it up quickly, and then two months later you’re still stuck on your API before you’ve even been able to start on your product. subZero cuts that development time down drastically.

Lightning fast

On a system composed of an AWS t2.micro instance running subZero, connected to a RDS db.t2.micro database, we were seeing more than 500 requests per second, with latencies in the range of 5 ms — 20 ms on a three table join. To put that in perspective, you get 1,296,000,000 requests/month on $21 hardware, which is 100 times more than our competitors give you for the same price, even after factoring in the licensing costs of our software.

GraphQL, a query language for your API

GraphQL is a query language for APIs which provides a complete and understandable description of the data in your API. The upsides are many:

It gives clients the power to ask for exactly what they need It makes it easier to evolve APIs over time It enables powerful developer tools Apps that use GraphQL don’t have to sacrifice speed for stability (or vice versa) because they control the data they get, not the server. While typical REST APIs require loading from multiple URLs, GraphQL APIs get all the data your app needs in a single request. This mean your app will always be lightning fast — even on slow mobile network connections.

A few more reasons to try subZero:

Flexible GraphQL & REST API out of the box Extremely short time to production (we’re talking days) Efficient queries — no N+1 problem Built-in scriptable caching system Easy deployment as Docker containers Use the full power of SQL/Lua/Python/Javascript Support for GraphQL/Relay specifications Real-time updates using a Messaging Server

wanghaisheng commented 5 years ago

https://github.com/YMFE/yapi

wanghaisheng commented 5 years ago

P020180930635233809411.docx 商保便民服务平台需求文档