swagger_generator 0.0.5
swagger_generator: ^0.0.5 copied to clipboard
Create a swagger API document with less effort. swagger_generator is built as Dio interceptor, that record request/response then create swagger.json
The swagger_generator is a library using dio interceptor to generate swagger structure automatically. It's easy and useful to create API document with less effort.
Features #
- Generate
swagger.jsonfile structure automatically - Preview the
swagger.jsonfile - Sync data to gitlab
Getting started #
- The model of the library is based on Swagger Basic Structure
- Note: The library will ignore requests with base urls are outside
servers - By default, the response structure isn't generated. If you wanna generate response structure, set
includeResponseastrue - Using gitlab API to sync to repository by your gitlab token
Usage #
Config interceptor #
Add this library to dio interceptor. To avoid redirecting the response cause interceptor doesn't log full response in your project, should add this interceptor between auth interceptor and error interceptor
Dio()
..interceptors.addAll([
AuthInterceptor(),
SwaggerInterceptor(),
ErrorInterceptor(),
]);
Initial plugin #
[REQUIRED]
SwaggerGenerator.instance.initial(
Swagger(
id: '1',
info: const SwaggerInfo(
title: 'Example API docs',
version: '1.0.0',
),
servers: const [
SwaggerServer(
url: 'https://example.swagger-test/api/v1',
description: 'Test',
),
],
components: SwaggerComponent(
securities: const [
SwaggerSecurity(
name: 'Authorization',
type: 'http',
scheme: 'bearer',
bearerFormat: 'JWT',
),
SwaggerSecurity(
name: 'Device-Type',
type: 'apiKey',
),
],
),
),
includeResponse: true,
);
Preview data #
The library support preview json data. You can navigate to this screen by using
SwaggerGenerator.instance.openPreviewPage(context);
Sync to gitlab #
Input your gitlab information then you can sync latest structure to gitlab

Example #
Follow the example: /example