Nervously Practice Multithreading

    restdocs-to-postman

    2.0.8 • Public • Published

    Spring REST Docs to Postman/Insomnia Converter

    Npm Version

    This project collects cURL commands generated by Spring REST Docs and converts them to a Postman or Insomnia collection.

    Output formats:

    Spring REST Docs is an awesome tool to generate documentation out of tests, but no API playground is provided out of the box. Tools like Postman or Insomnia offer lots of features to play with APIs and this project helps to bootstrap Postman and Insomnia collections from Spring REST Docs cURL snippets. Such a feature has been requested by several people, for example in Spring REST Docs issue 47.

    This project can also be used with Spring Auto REST Docs because the very same cURL snippets are generated.

    Installation

    For usage on command line, install globally

    npm install -g restdocs-to-postman

    For programmatic usage, install in project

    npm install --save restdocs-to-postman

    Command Line Usage

    restdocs-to-postman --input generated-snippets --export-format postman --determine-folder secondLastFolder --output postman-collection.json

    From the given folder, all folders are recursively scanned for curl-request.adoc and curl-request.md files. Requests can be sorted into folders with --determine-folder secondLastFolder. The function secondLastFolder is the only one for now and puts a request from ../items/get/curl-request.adoc into a folder called item. Host and header replacements can be used with --replacements replacements.json. See replacement-example.json for an example of a replacement file.

    Programmatic Usage

    const converter = require('restdocs-to-postman');
    
    // Convert Spring REST Docs cURL commands to Postman/Insomnia collections
    const folderToScan = './target/generated-snippets';
    const exportFormat = 'postman';
    const replacements = {
      host: {
        before: 'http://localhost:8080',
        after: '{{host}}'
      },
      headers: [
        {
          name: 'Authorization',
          newValue: '{{oauth2Token}}'
         }
      ]
    };
    const output = converter.convert({folderToScan, exportFormat, replacements});
    
    // Print the result
    console.log(output);

    Running Tests

    Run all tests

    npm test

    Contributing

    • Submit a Pull Request for any enhancement you made.
    • Create an issue describing your particular problem.

    License

    restdocs-to-postman is Open Source software released under the Apache 2.0 license.

    Install

    npm i restdocs-to-postman

    DownloadsWeekly Downloads

    11

    Version

    2.0.8

    License

    Apache-2.0

    Unpacked Size

    143 kB

    Total Files

    53

    Last publish

    Collaborators

    • fbenz