New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

swagger-request-gen

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

swagger-request-gen

Frontend swagger request generator in typescript/axios .

latest
Source
npmnpm
Version
1.0.10
Version published
Weekly downloads
0
-100%
Maintainers
1
Weekly downloads
 
Created
Source

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.

Keywords

swagger

FAQs

Package last updated on 20 Jul 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts