Code Monkey home page Code Monkey logo

approaches-to-api-doc-talk's Introduction

GitPitch

Approaches to REST API documentation

This repository accompanies a talk on Approaches REST API documentation.

The approaches considered all have one thing in common - they keep a connection between the API reference and the code. In other words - they give some guarantees about the API reference and the implementation code being in sync. This is a very important characteristic of an API reference.

The code in this repository is used to illustrate the different approaches.

All these scenarios use the same REST API implemented with spring-boot.

The plain API is contained in the plain branch.

Slides

The presentation slides reside here

Considered Approaches

Introspection

This approach relies on application code being introspected to get the information about the REST API.

The library used to implement this approach is SpringFox.

Branch: spring-fox-documented

Test-driven

This approach uses a test-driven approach to generate important parts if an API reference.

Two variants are presented here:

Design first

In this approach the focus is on the API design. The connection to the code is established using Atlassians's swagger-request-validator.

Branch: open-api-request-validator-documenated

approaches-to-api-doc-talk's People

Contributors

mduesterhoeft avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

gitpitch

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.