All Projects → papsign → Ktor-OpenAPI-Generator

papsign / Ktor-OpenAPI-Generator

Licence: Apache-2.0 license
Ktor OpenAPI/Swagger 3 Generator

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Ktor-OpenAPI-Generator

kompendium
Ktor OpenAPI Spec Generator
Stars: ✭ 46 (-77.34%)
Mutual labels:  openapi, ktor, ktor-openapi-generator
Drf Yasg
Automated generation of real Swagger/OpenAPI 2.0 schemas from Django REST Framework code.
Stars: ✭ 2,523 (+1142.86%)
Mutual labels:  openapi, swagger-ui
Express Oas Generator
OpenAPI (Swagger) specification generator for ExpressJS applications
Stars: ✭ 138 (-32.02%)
Mutual labels:  openapi, swagger-ui
openapi-generator-go
An opinionated OpenAPI v3 code generator for Go. Use this to generate API models and router scaffolding.
Stars: ✭ 42 (-79.31%)
Mutual labels:  openapi, openapi-generator
L5 Swagger
OpenApi or Swagger integration to Laravel
Stars: ✭ 1,781 (+777.34%)
Mutual labels:  openapi, swagger-ui
Angular Swagger Ui
An angularJS implementation of Swagger UI
Stars: ✭ 131 (-35.47%)
Mutual labels:  openapi, swagger-ui
Restrserve
R web API framework for building high-performance microservices and app backends
Stars: ✭ 207 (+1.97%)
Mutual labels:  openapi, swagger-ui
Rswag
Seamlessly adds a Swagger to Rails-based API's
Stars: ✭ 1,028 (+406.4%)
Mutual labels:  openapi, swagger-ui
Django Rest Swagger
Swagger Documentation Generator for Django REST Framework: deprecated
Stars: ✭ 2,553 (+1157.64%)
Mutual labels:  openapi, swagger-ui
OpenAPI-Viewer
OpenApi viewer Implemented using Vue
Stars: ✭ 93 (-54.19%)
Mutual labels:  openapi, swagger-ui
openapi-viewer
Browse and test a REST API described with the OpenAPI 3.0 Specification
Stars: ✭ 85 (-58.13%)
Mutual labels:  openapi, swagger-ui
Openapi Viewer
Browse and test a REST API described with the OpenAPI 3.0 Specification
Stars: ✭ 82 (-59.61%)
Mutual labels:  openapi, swagger-ui
Springdoc Openapi
Library for OpenAPI 3 with spring-boot
Stars: ✭ 1,113 (+448.28%)
Mutual labels:  openapi, swagger-ui
Rapipdf
PDF generation from OpenAPI / Swagger Spec
Stars: ✭ 132 (-34.98%)
Mutual labels:  openapi, swagger-ui
Openapi Generator
OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
Stars: ✭ 10,634 (+5138.42%)
Mutual labels:  openapi, openapi-generator
Gradle Swagger Generator Plugin
Gradle plugin for OpenAPI YAML validation, code generation and API document publishing
Stars: ✭ 197 (-2.96%)
Mutual labels:  openapi, swagger-ui
cakephp-swagger-bake
Automatically generate OpenAPI, Swagger, and Redoc documentation from your existing CakePHP code.
Stars: ✭ 48 (-76.35%)
Mutual labels:  openapi, swagger-ui
Fastapi
FastAPI framework, high performance, easy to learn, fast to code, ready for production
Stars: ✭ 39,588 (+19401.48%)
Mutual labels:  openapi, swagger-ui
Uvicorn Gunicorn Fastapi Docker
Docker image with Uvicorn managed by Gunicorn for high-performance FastAPI web applications in Python 3.6 and above with performance auto-tuning. Optionally with Alpine Linux.
Stars: ✭ 1,014 (+399.51%)
Mutual labels:  openapi, swagger-ui
Flasgger
Easy OpenAPI specs and Swagger UI for your Flask API
Stars: ✭ 2,825 (+1291.63%)
Mutual labels:  openapi, swagger-ui

Ktor OpenAPI Generator

Build

The Ktor OpenAPI Generator is a library to automatically generate the descriptor as you route your ktor application.

Ktor OpenAPI Generator is:

  • Modular
  • Strongly typed
  • Explicit

Currently Supported:

  • Authentication interoperability with strongly typed Principal (OAuth only, see TestServer in tests)
  • Content Negotiation interoperability (see TestServer in tests)
  • Custom response codes (as parameter in @Response)
  • Automatic and custom content Type routing and parsing (see com.papsign.ktor.openapigen.content.type, Binary Parser and default JSON parser (that uses the ktor implicit parsing/serializing))
  • Exception handling (use .throws(ex) {} in the routes with an APIException object) with Status pages interop (with .withAPI in the StatusPages configuration)
  • tags (.tag(tag) {} in route with a tag object, currently must be an enum, but may be subject to change)
  • Spec compliant Parameter Parsing (see basic example)
  • Legacy Polymorphism with use of @DiscriminatorAnnotation() attribute and sealed classes

Extra Features:

  • Includes Swagger-UI (enabled by default, can be managed in the install(OpenAPIGen) { ... } section)

Examples

Take a look at a few examples

Who is using it?

And others... (add your name above)

Installation

Gradle

Step 1. Add the JitPack repository to your build file:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Step 2. Add the dependency:

dependencies {
        implementation 'com.github.papsign:Ktor-OpenAPI-Generator:-SNAPSHOT'
}

Git Submodule

Install the submodule:

git submodule add https://github.com/papsign/Ktor-OpenAPI-Generator.git openapigen

Declare the folder in settings.gradle:

...
include 'openapigen'

Declare the dependency in the main build.gradle

apply plugin: 'kotlin'

...

dependencies {
    compile project(":openapigen")
    ...
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].