This package has been deprecated

Author message:

WARNING: This module has been renamed to swagger-fluent. Please install it instead.

fluent-openapi

3.1.0 • Public • Published

fluent-openapi

Build Status Greenkeeper badge

A fluent OpenAPI and Swagger client for JavaScript and Node.js.

fluent-client represents Path Item Object with chains of objects:

/api/v1/namespaces -> api.v1.namespaces

associates operations on a Path Item Object with functions:

/api/v1/namespaces -> api.v1.namespaces.get()

and represents Path Templating with function calls:

/api/v1/namespaces/{namespace}/pods -> api.v1.namespaces(namespace).pods

Configurable "backends" handle executing API calls by, for example, using fetch or Swagger Client. A backend can also perform error checking. The Swagger Client backend, for example, will perform the usual parameter and resolution checking that swagger-js performs and will throw those errors to the caller.

Using

const spec = require('./swagger.json')
const url = 'https://petstore.swagger.io/v2/'
const FetchBackend = require('fluent-openapi/backends/fetch')
const backend = new FetchBackend({ fetch, url })
 
const { Client } = require('fluent-openapi')
const client = new Client({ spec, backend })
 
const response = await client.pet.findByStatus.get({ parameters: { status: 'available' } })

API

Client(options)

Create a fluent client for an OpenAPI or Swagger specification.

  • options.spec - OpenAPI or Swagger specification.
  • options.backend - Object with an .http method that executes HTTP r equests.
  • options.getNames(name, ancestors) - a function to translate each path name to an alternate name or array of names. You could, for example, alias the resource "namespaces" to "namespace" and "ns".

FetchBackend(options)

Create a Fetch API-based backend.

const FetchBackend = require('fluent-openapi/backends/fetch')

RequestBackend(options)

const RequestBackend = require('fluent-openapi/backends/request')

SwaggerClientBackend(options)

Create a swagger-js-based backend.

const SwaggetClientBackend = require('fluent-openapi/backends/swagger-client')

Custom backend

The backend must implement an .http method. fluent-openapi passes the following options to the .http method, and returns the result directly to the API caller.

  • options.body - JSONifable object.
  • options.method - HTTP method.
  • options.pathItemObject - Swagger/OpenAPI Path Item Object.
  • options.parameters - named query parameters.
  • options.qs - named query parameters (legacy).
  • options.pathname - URL pathname.
  • options.stream - true if called by a "stream method".

Readme

Keywords

Package Sidebar

Install

npm i fluent-openapi

Weekly Downloads

9

Version

3.1.0

License

MIT

Unpacked Size

22.5 kB

Total Files

11

Last publish

Collaborators

  • sbw