接口规范
接口框架
https://pliik.github.io/gugamarket/Gugamarket is a fullstack REST API framework ,Nodejs + MongoDB
Fit for
OpenAPI DL
developer:https://github.com/pliik
BUILT WITH
Node
Swagger (REST Api documentation)
Express (MVC Framework)
Mongoose (MongoDB ORM)
mongoose-nested-set (Hierarquical Catalog Tree)https://github.com/groupdock/mongoose-nested-set
Jade (Template)
Passwordless (token email authentication)
Mocha (Unit Testing)
S
接口规范https://en.wikipedia.org/wiki/Interface_description_language
基于RESTful的DL比较https://en.wikipedia.org/wiki/Overview_of_RESTful_API_Description_Languages
developer: Open API Initiative (OAI), originally developed as "Swagger" specification byWordnik,SmartBear Software
3.0开始, MULE加入,导致支持 RAML接口https://github.com/OAI/OpenAPI-Specification/blob/OpenAPI.next/versions/3.0.md
RESTful API Modeling Language(RAML)https://en.wikipedia.org/wiki/RAML_(software)
URL:http://raml.org/
developer: Mulesoft,http://www.mulesoft.com/
接口开发工具
http://swagger.io/Swagger is the world’s largest framework of API developer tools for the OpenAPI Specification(OAS), enabling development across the entire API lifecycle, from design and documentation, to test and deployment.
接口在线编辑器:http://editor.swagger.io/#/直接转换出接口的STUB
Swagger Codegen can simplify your build process by generating server stubs and client SDKs from your Swagger specificationhttp://swagger.io/swagger-codegen/
商业工具http://swagger.io/commercial-tools/
http://swagger.io/open-source-integrations/
RAML
https://github.com/RJAPI/raml-json-api将RAML直接转换为LARAVEL的接口。
http://apiworkbench.com/docs/RAML集成开发环境。API Workbench, a rich, full-featured integrated development environment (IDE) for designing, building, testing, documenting and sharing RESTful HTTP APIs. It supports both RAML 0.8 and the recently launched RAML 1.0.RAMLmakes it easy to manage the whole API lifecycle from design to sharing.
https://github.com/mulesoft/api-designerweb版本的开发工具
https://github.com/raml2html/raml2html将raml接口文档转换为HTML
https://github.com/mulesoft/api-consoleAn API console forRAML(Restful Api Modeling Language) documents. The RAML Console allows browsing of API documentation and in-browser testing of API methods.
其它自动化 RESTFUL
https://github.com/api-platform/api-platformBuild modern, hypermedia APIs with ease, generate React applications from the API documentation.https://api-platform.com
https://github.com/api-platform/core
https://github.com/mevdschee/php-crud-apiSingle file PHP script that adds a REST API to a MySQL 5.5 InnoDB database. PostgreSQL 9.1 and MS SQL Server 2012 are fully supported. There is even limited support for SQLite 3.值得看
接口模拟工具 模拟接口
https://github.com/typicode/json-server
https://github.com/farolfo/raml-server
数据描述语言
json:api
Started as REST adapter forEmberData
JSON Schema
http://json-schema.org/implementations
used by OpenAPI, Google APIs Discovery,[6]I/O Docshttps://en.wikipedia.org/wiki/JSON#JSON_Schema
https://en.wikipedia.org/wiki/Open_Data_Protocol来自微软,主流使用,由PHP, JS客户端。 适应JSON。 REST
https://en.wikipedia.org/wiki/GData来自谷歌, 与oData是竞争性关系, REST
http://avro.apache.org/docs/current/#compareApache Avro™ is a data serialization system. Avro provides functionality similar to systems such asThrift,Protocol Buffers,
数据序列化语言比较https://en.wikipedia.org/wiki/Comparison_of_data_serialization_formats
REST 服务描述语言
REST的介绍:
http://www.ruanyifeng.com/blog/2011/09/restful.html
http://www.oschina.net/translate/what-does-restful-really-mean
http://www.cnblogs.com/artech/p/3506553.html我所理解的RESTful Web API [设计篇]
http://www.cnblogs.com/artech/p/restful-web-api-01.html我所理解的RESTful Web API [Web标准篇]
关系资源的REST例子https://www.infoq.com/articles/rest-introduction
URI模板
PHP URI Template (RFC 6570) supports both URI expansion & extraction
https://github.com/rize/UriTemplatePHP URI Template (RFC 6570) supports both URI expansion & extraction
https://github.com/ioseb/uri-templatePHP extension implementation of RFC-6570(URI Template) in C使用方法例子介绍比较多
A JavaScript URI template implementation (RFC 6570 compliant)
https://github.com/bramstein/url-template
https://github.com/geraintluff/uri-templates
https://github.com/fxa/uritemplate-js
https://github.com/LuvDaSun/rfc6570RFC 6570 compliant uri template parser, builder and router
Vue.js + URI.js = a URI Templates playgroundhttps://github.com/BigBlueHat/vue-uri
https://en.wikipedia.org/wiki/RSDL
https://en.wikipedia.org/wiki/HATEOAS超媒体问题
https://en.wikipedia.org/wiki/Hypertext_Application_Language(类似hateoas
Laravel
直接讲RAML转换为LARAVEL接口实现https://github.com/RJAPI/raml-json-api将RAML直接转换为LARAVEL的接口。
https://github.com/slampenny/SwaggervelWhen you run your app in debug mode, Swaggervel will scan your app folder (or any folder that is set under the "app-dir" variable in the packages config), generate swagger json files and deposit them to the doc-dir folder (default is/docs). Files are then served by swagger-ui under the api-docs director.
https://github.com/DarkaOnLine/L5-SwaggerThis package is a wrapper ofSwagger-phpandswagger-uiadapted to work with Laravel 5.
https://github.com/DarkaOnLine/SwaggerLumeThis package is a wrapper ofSwagger-phpandswagger-uiadapted to work with Lumen 5.
Eloquent 与 jsonapi之间的转换https://github.com/nilportugues/laravel5-jsonapi
让laravel应用与jsonapi兼容https://github.com/cloudcreativity/laravel-json-api
使用laravel建立jsonapi接口服务https://github.com/czim/laravel-jsonapi
oData
https://github.com/Algo-Web/POData-Laravel
https://github.com/AnitaYip/OData-Lumen
基于Laravel 实现Restful接口的教程Repository with the base code for the course "RESTful API with Laravel - Definitive-Guide"https://github.com/JuanDMeGon/RESTful-API-with-Laravel-Definitive-Guide
http://hateoas-php.org/https://github.com/willdurand/HateoasA PHP library to support implementing representations for HATEOAS REST web services , 支持HATEOAS
http://stateless.co/hal_specification.html
PHP Hypermedia API Wrapper for HATEOAS Enabled HTTP or REST Serviceshttps://github.com/solvire/php-hypermedia-api
Nodejs 客户端
https://github.com/marmelab/restful.jsA pure JS client for interacting with server-side RESTful resources. Think Restangular without Angular.
https://github.com/traverson/traversonclient A Hypermedia API/HATEOAS Client for Node.js and the Browserhttps://github.com/traverson/traverson/blob/master/user-guide.markdown
OTHER
https://github.com/GoIntegro/hateoasThis is a library that uses a Doctrine 2 entity map and aRAMLAPI definition to conjure aHATEOASAPI, following theJSON-APIspecification.