All Projects → luckymarmot → Api Flow

luckymarmot / Api Flow

Licence: mit
Universal data structure and converter for API formats (Swagger, RAML, Paw, Postman…)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Api Flow

Metersphere
MeterSphere 是一站式开源持续测试平台,覆盖测试管理、接口测试、性能测试等。搞测试,就选 MeterSphere!
Stars: ✭ 6,331 (+3322.16%)
Mutual labels:  postman, swagger
Swagger Toolbox
💡 Swagger schema model (in yaml, json) generator from json data
Stars: ✭ 194 (+4.86%)
Mutual labels:  swagger, converter
super-powered-api-testing
Comparisons of powerful API testing tools
Stars: ✭ 25 (-86.49%)
Mutual labels:  swagger, postman
Awesome Openapi3
😎 A list of awesome projects related to OpenAPI 3.0.x, curated by the community
Stars: ✭ 469 (+153.51%)
Mutual labels:  swagger, converter
Oas Kit
Convert Swagger 2.0 definitions to OpenAPI 3.0 and resolve/validate/lint
Stars: ✭ 516 (+178.92%)
Mutual labels:  swagger, converter
Swaggman
OpenAPI Spec SDK and Converter for OpenAPI 3.0 and 2.0 Specs to Postman 2.0 Collections. Example RingCentral spec included.
Stars: ✭ 94 (-49.19%)
Mutual labels:  swagger, postman
Postman Code Generators
Common repository for all code generators shipped with Postman
Stars: ✭ 526 (+184.32%)
Mutual labels:  postman, converter
Prance
Resolving Swagger/OpenAPI 2.0 and 3.0 Parser
Stars: ✭ 133 (-28.11%)
Mutual labels:  swagger, converter
Yarle
Yarle - The ultimate converter of Evernote notes to Markdown
Stars: ✭ 170 (-8.11%)
Mutual labels:  converter
Spring Cloud Consul Example
spring-cloud-consul-example is an example for microservices system
Stars: ✭ 175 (-5.41%)
Mutual labels:  swagger
Goxml2json
XML to JSON converter written in Go (no schema, no structs)
Stars: ✭ 170 (-8.11%)
Mutual labels:  converter
Raml Dotnet Tools
Visual Studio extension to work with RAML and OAS (OpenAPI) specifications. You can consume REST APIs, scaffold ASP.NET implementations and extract RAML specifications from existing ASP.Net apps.
Stars: ✭ 171 (-7.57%)
Mutual labels:  swagger
Esi Issues
Issue tracking and feature requests for ESI
Stars: ✭ 176 (-4.86%)
Mutual labels:  swagger
Js Client
A Open-API derived JS + Node.js API client for Netlify
Stars: ✭ 170 (-8.11%)
Mutual labels:  swagger
Azuredevops Postman Collections
The collections allow you to test common Azure DevOps Rest APIs from within Postman.
Stars: ✭ 182 (-1.62%)
Mutual labels:  postman
Curlx
◼️ Supercharge curl with history, collections and more.
Stars: ✭ 169 (-8.65%)
Mutual labels:  postman
Openapi Cli
⚒️ OpenAPI 3 CLI toolbox with rich validation and bundling features.
Stars: ✭ 169 (-8.65%)
Mutual labels:  swagger
Nestjs Template
Scaffold quickly your next TypeScript API with this opinionated NestJS template crafted for Docker environments
Stars: ✭ 183 (-1.08%)
Mutual labels:  swagger
Postman To K6
Converts Postman collections to k6 script code
Stars: ✭ 180 (-2.7%)
Mutual labels:  postman
Spring Boot Plus
🔥 Spring-Boot-Plus is a easy-to-use, high-speed, high-efficient,feature-rich, open source spring boot scaffolding. 🚀
Stars: ✭ 2,198 (+1088.11%)
Mutual labels:  swagger

Build Status

API-Flow

A flow written in ES6 using Immutable to convert between API description formats (Swagger, etc.) and other programs such as cURL command lines.

What formats are supported and what will be in the future

We currently support:

  • Swagger v2.0 (in/out)
  • RAML v1.0 (in/out)
  • Postman Collection v2.0 (in/out)
  • Paw v3.1 (in/out)

We intend to support:

  • Swagger v3.0
  • RAML v0.8
  • Postman Collection v1.0
  • Postman Dump v1.0
  • Insomnia v3.0
  • Api-Blueprint
  • and many more.

Installation

from a cloned repository

just run

git clone https://github.com/luckymarmot/API-Flow.git
cd API-Flow
make install

This will install the node module dependencies

Building the different libraries

node, web, and webworker

run the following command to build API-Flow for the different environments that you need

# use TARGET="node" if you only want the node library
make runners TARGET="node web webworker"

Paw

You can use the following command to add the different extensions to Paw

# use TARGET="swagger" if you only want the swagger bindings
make transfer TARGET="swagger raml1 postman2"

Using the npm module

as a standard library

const ApiFlow = require('api-flow'); // if from npm
const ApiFlow = require('./dist/node/api-flow.js'); // if from `make runners TARGET="node"`

const options = {
    source: {
        format: 'swagger',
        version: 'v2.0'
    },
    target: {
        format: 'raml',
        version: 'v1.0'
    }
}

const promise = ApiFlow.transform({
  options,
  uri: path.resolve(__dirname, './my_super_swagger.yml')
})

promise.then((data) => {
  // do some cool stuff with the data
})

Using as a CLI (coming soon)

node ./bin/api-flow.js some_swagger.json -f swagger -t raml > converted.yml

User Interface

API-Flow is one of the main components of Console.REST. If you're an API user, you can easily use https://console.rest/ to convert API description files. If you're an API provider, you can add a button to your API docs to let your users open and play with your API in client apps including Paw or Postman.

Contributing

PRs are welcomed! Our sole requirement is that organizations that want to extend API-Flow to support their format write both a parser and a serializer, and not simply a serializer.

Documentation

You can find more information about the internal structure of API-Flow in src. We've also created a set of templates to help speed up the extension process: loader, parser, and environment

License

This repository is released under the MIT License. Feel free to fork, and modify! Copyright © 2016 Paw Inc.

Contributors

See Contributors.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].