Skip to content

Updates to API: OpenAPI 3.1 + much refactoring

David Chandek-Stark requested to merge openapi-3 into main

There are three main goals in this MR:

  1. Invert the dependency relationship between the Swagger/OpenAPI document and the API routing code so that the language-independent OpenAPI document is primary instead of being generated by the Ruby Grape API.
  2. Update from Swagger 2.0 to OpenAPI 3.1
  3. Refactor and simplify the API code itself. This has largely been driven by goal 1 insofar as we have used the OpenAPI standard as a means of dynamically generating as much of the Grape API code as possible, thereby removing a great deal of static code. Now all API parameter and route definitions are generated from the OpenAPI document leaving only the API operations to be statically defined.

Merge request reports

Loading