1.0.10 • Published 4 years ago

swagger-request-gen v1.0.10

Weekly downloads
4
License
ISC
Repository
github
Last release
4 years ago

Swagger Request Generator

Frontend swagger request generator in typescript/axios .

You can use this package to generator swagger request files for your frontend app.

Usage

1.install

npm install -D swagger-request-gen

2.add a command to run this package, in your package.json

{
  "scripts": {
    "generate": "gen-request [swagger-url] [dir-to-save-requests]"
  }
}

The two params are:

swagger-url the url to request a swagger doc, like http://localhost:8081/v2/api-docs

dir-to-save-requests the directory you wish to store the generated files, it's a relative path from the project root, you can use ./request, which means the files would be stored inside the dir like:

<path to project>/request/

2.1 (optional) you can specify the request client to use (like 'axios' or your own request client) with a config file request-gen-config.js in your <project root>, and write it like:

module.exports = {
    clientImportState: `const requestClient = require('./request') `
}

This tool would automatically discover this file, and use the clientImportState as the import script for each request.

And you need to make sure the imported varialbe name to be requestClient.

If not found, it would use import requestClient from 'axios' as default.

3.run command

npm run generate

4.get your code

The 3rd step would run this package, inside, it would try visiting the swagger doc, and retrieve them, then use the doc to render mustache template into request files.

The output would be like:

Request

import axios from "axios"

import { DataUserLogin } from "../definitions/DataUserLogin"

export function apiPostUserLogin(dataUserLogin: DataUserLogin) {
  return axios.request({
    url: `/v1/auth/login`,
    method: `post`,
    params: {},
    data: dataUserLogin,
  })
}

Definition

export interface DataUserLogin {
  password: string;
  username: string;
}

Issues

For any problems, feel free to add to the issue tab.

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago