Skip to content

ShuangRen/share-api

Repository files navigation

Share API

node platform

version license language download pr

查看中文README

Introduction

Based on Swagger and Swagger Open API 2.0 Specification, a tool for generating API documentation by configuring Swagger JSON.

Features

  • More friendly UI
  • More intuitive display
  • Support for enum display
  • Support for both public and private displays
  • Support for configuring IP access whitelist for private API documentation
  • Support for privatization deployment

预览

Version 1.1.0

  1. Support for secondary path
  • In some cases, you need to use www.example.com/scopePath to access, instead of directly accessing the domain name www.example.com
  • Now scopePath is a configurable item
  1. Rewritten the setting related code, the form validation is completely taken over by antd

  2. Added enablePrivate configuration, which is disabled by default. When enabled, it will enable the distinction between private and non-private interfaces.

  • Some switches do not require private configuration by switching on and off the switch that controls the private configuration.
  • The previous design caused the use to be too complicated. If no IP whitelist is configured, you need to enter a password to access the configuration item.

More Change Logs

Quick Start

Providing 2 ways to start

1. Install from npm

  1. Download npm Package
npm i @shuangren/share-api
yarn add @shuangren/share-api
  1. Create new js file and import
// index.js
const ApiDoc = require('@shuangren/share-api');
const doc = new ApiDoc();
doc.start();
  1. Startup
node index.js

Install from Git

  1. Clone repository
git clone https://github.com/ShuangRen/share-api.git
  1. Install dependencies
npm install
yarn
  1. Startup
node dist/server/start.js

Extended configuration

Install from npm

// index.js
const ApiDoc = require('@shuangren/share-api');
const doc = new ApiDoc();
doc.config({
  port: '3001',
  password: 'abc123',
  dataPath: '/var/demo/data.config'
});
doc.start();

Install from Git

Directly modify the configuration in the file dist/server/config

Configuration instructions

dataPath data file that caches interface configuration list , Default dist/server

password password when switched to internal access mode, Default is 123456

port start port Default is 8081

ipList An IP list that runs direct internal access, Default is []

scopePath After enabling, Access using www.example.com/scopePath, Default is empty string, showed proxy-pass, shareapi-static to node server

enablePrivate enable private config, Default is false

Whole configuration reference

doc.config({
  port: '3001',
  password: 'abc123',
  dataPath: '/var/demo/data.config'
  ipList:[
    '192.168.1.111',
    '21.221.1.111'
  ],
  scopePath = 'abc',
  enablePrivate = true
});