• Table of Contents
  • 1. Introduction
  • 2. Design Principles
  • 3. General Guidelines
  • 4. Security
  • 5. Compatibility
  • 6. JSON Guidelines
  • 7. Naming
  • 8. Resources
  • 9. HTTP
  • 10. Performance
  • 11. Pagination
  • 12. Hypermedia
  • 13. Data Formats
  • 14. Common Data Objects
  • 15. Common Headers
  • 16. Proprietary Headers
  • 17. Deprecation
  • 18. API Operation
  • 19. Events
  • 20. References
  • 21. Tooling
  • Published with GitBook

Introduction

Tooling

API First Integrations

The following frameworks were specifically designed to support the API First workflow with OpenAPI YAML files (sorted alphabetically):

  • Connexion: OpenAPI First framework for Python on top of Flask
  • Friboo: utility library to write microservices in Clojure with support for Swagger and OAuth
  • Play Swagger: build RESTful Play services from OpenAPI specification
  • Swagger Codegen: template-driven engine to generate client code in different languages by parsing Swagger Resource Declaration
  • Swagger Codegen Tooling: plugin for Maven that generates pieces of code from OpenAPI specification
  • Swagger Plugin for IntelliJ IDEA: plugin to help you easily edit Swagger specification files inside IntelliJ IDEA

The Swagger/OpenAPI homepage lists more Community-Driven Language Integrations, but most of them do not fit our API First approach.

Support Libraries

These utility libraries support you in implementing various parts of our RESTful API guidelines (sorted alphabetically):

  • Problem: Java library that implements application/problem+json
  • Problems for Spring Web MVC: library for handling Problems in Spring Web MVC
  • Jackson Datatype Money: extension module to properly support datatypes of javax.money
  • JSON fields: framework for limiting fields of JSON objects exposed by Rest APIs
  • Tracer: call tracing and log correlation in distributed systems
  • TWINTIP: API definition crawler for the STUPS ecosystem
  • TWINTIP Spring Integration: API discovery endpoint for Spring Web MVC