{"id":20123958,"url":"https://github.com/papsign/Ktor-OpenAPI-Generator","last_synced_at":"2025-05-06T17:32:36.432Z","repository":{"id":37030799,"uuid":"186148881","full_name":"papsign/Ktor-OpenAPI-Generator","owner":"papsign","description":"Ktor OpenAPI/Swagger 3 Generator","archived":false,"fork":false,"pushed_at":"2022-06-18T22:07:14.000Z","size":451,"stargazers_count":230,"open_issues_count":26,"forks_count":42,"subscribers_count":8,"default_branch":"master","last_synced_at":"2023-10-20T22:16:05.027Z","etag":null,"topics":["kotlin","ktor","ktor-framework","ktor-openapi-generator","openapi","openapi-generator","swagger","swagger-ui"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/papsign.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-11T15:19:49.000Z","updated_at":"2023-10-07T03:47:17.000Z","dependencies_parsed_at":"2022-06-25T15:35:53.182Z","dependency_job_id":null,"html_url":"https://github.com/papsign/Ktor-OpenAPI-Generator","commit_stats":null,"previous_names":[],"tags_count":29,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/papsign%2FKtor-OpenAPI-Generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/papsign%2FKtor-OpenAPI-Generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/papsign%2FKtor-OpenAPI-Generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/papsign%2FKtor-OpenAPI-Generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/papsign","download_url":"https://codeload.github.com/papsign/Ktor-OpenAPI-Generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224517398,"owners_count":17324407,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kotlin","ktor","ktor-framework","ktor-openapi-generator","openapi","openapi-generator","swagger","swagger-ui"],"created_at":"2024-11-13T19:46:59.030Z","updated_at":"2024-11-13T19:47:02.713Z","avatar_url":"https://github.com/papsign.png","language":"Kotlin","readme":"# Ktor OpenAPI Generator\n[![](https://jitpack.io/v/papsign/Ktor-OpenAPI-Generator.svg)](https://jitpack.io/#papsign/Ktor-OpenAPI-Generator)\n[![Build](https://github.com/papsign/Ktor-OpenAPI-Generator/workflows/Build/badge.svg)](https://github.com/papsign/Ktor-OpenAPI-Generator/actions)\n\nThe Ktor OpenAPI Generator is a library to automatically generate the descriptor as you route your ktor application.\n\nKtor OpenAPI Generator is:\n- Modular\n- Strongly typed\n- Explicit\n\nCurrently Supported:\n- Authentication interoperability with strongly typed Principal (OAuth only, see TestServer in tests)\n- Content Negotiation interoperability (see TestServer in tests)\n- Custom response codes (as parameter in `@Response`)\n- 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))\n- Exception handling (use `.throws(ex) {}` in the routes with an APIException object) with Status pages interop (with .withAPI in the StatusPages configuration)\n- tags (`.tag(tag) {}` in route with a tag object, currently must be an enum, but may be subject to change)\n- Spec compliant Parameter Parsing (see basic example)\n- Legacy Polymorphism with use of `@DiscriminatorAnnotation()` attribute and sealed classes \n\nExtra Features:\n- Includes Swagger-UI (enabled by default, can be managed in the `install(OpenAPIGen) { ... }` section)\n\n## Examples\n\nTake a look at [a few examples](https://github.com/papsign/Ktor-OpenAPI-Generator/wiki/A-few-examples)\n\n### Who is using it?\n\n* \u003chttps://github.com/SerVB/e-shop\u003e\n\nAnd others... (add your name above)\n\n## Installation\n\n### Gradle\n\nStep 1. Add the JitPack repository to your build file:\n```groovy\nallprojects {\n    repositories {\n        ...\n        maven { url 'https://jitpack.io' }\n    }\n}\n```\nStep 2. Add the dependency:\n```groovy\ndependencies {\n        implementation 'com.github.papsign:Ktor-OpenAPI-Generator:-SNAPSHOT'\n}\n```\n\n### Git Submodule\nInstall the submodule:\n```shell\ngit submodule add https://github.com/papsign/Ktor-OpenAPI-Generator.git openapigen\n```\n\nDeclare the folder in settings.gradle:\n```groovy\n...\ninclude 'openapigen'\n```\nDeclare the dependency in the main build.gradle\n```groovy\napply plugin: 'kotlin'\n\n...\n\ndependencies {\n    compile project(\":openapigen\")\n    ...\n}\n```\n","funding_links":[],"categories":["Ktor Projects"],"sub_categories":["Socials"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpapsign%2FKtor-OpenAPI-Generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpapsign%2FKtor-OpenAPI-Generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpapsign%2FKtor-OpenAPI-Generator/lists"}