1.1.7 • Published 5 months ago

typespeed-swagger v1.1.7

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

typespeed-swagger

typescript license GitHub Build Status Codecov

The Swagger plugin for the TypeSpeed framework.

  • NO NEED to add redundant annotations of methods and variables on existing web applications.
  • NO NEED to add redundant definitions to any entity classes.
  • Simply modify the import path of some decorators, then the application will have a complete and available swagger document page.
  • Use advanced reflection (typescript-rtti) to get all the type, no extra markup required.

Install

npm install typespeed-swagger typescript-rtti reflect-metadata

How To Use

First modify the import path of these decorators from typespeed to typespeed-swagger: @getMapping, @postMapping, @requestMapping, @reqBody, @reqQuery, @reqForm, @reqParam.

For example:

import { log, component, getMapping, reqQuery } from "typespeed";

Would change to:

import { log, component } from "typespeed";
import { getMapping, reqQuery } from "typespeed-swagger";

Second, add swagger middleware to the main.ts entry file, as follows:

import { app, log, autoware, ServerFactory } from "typespeed";
import { swaggerMiddleware } from "typespeed-swagger";

@app
class Main {

    @autoware
    public server: ServerFactory;

    public main() {
        swaggerMiddleware(this.server.app, { path: "/docs", "allow-ip": ["127.0.0.1"] }, "./package.json");
        this.server.start(8081);
    }
}

After that, start the application, visit http://localhost:8081/docs, and you can see the swagger page.

Configuration

Typespeed-swagger has three configurations, which are the last two optional parameters of the swaggerMiddleware function:

  • The path property of the second parameter is the address configuration of the swagger page, and the default is /docs.

  • The allow-ip property of the second parameter provides IP restrictions for secure access to the swagger page. Only the client IPs in the allow-ip array can access the page normally. Default is ["127.0.0.1", "::1"].

  • The third parameter is the package.json file path of the project. Typespeed-swagger use the package.json file and read its name and version information for swagger page.

Link

License

  • MIT © speedphp
1.1.7

5 months ago

1.1.6

10 months ago

1.1.5

10 months ago

1.1.4

10 months ago

1.1.3

11 months ago

1.1.2

11 months ago

1.1.0

11 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago

0.1.0

11 months ago

0.0.2

11 months ago

0.0.1

11 months ago