{"id":22131107,"url":"https://github.com/slamdev/openapi-spring-generator","last_synced_at":"2025-08-09T04:11:14.218Z","repository":{"id":47600519,"uuid":"310826911","full_name":"slamdev/openapi-spring-generator","owner":"slamdev","description":"OpenAPI Generator for Java Spring framework","archived":false,"fork":false,"pushed_at":"2025-06-17T13:32:29.000Z","size":231,"stargazers_count":3,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-17T14:23:14.395Z","etag":null,"topics":["gradle-plugin","openapi","spring"],"latest_commit_sha":null,"homepage":"","language":"Java","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/slamdev.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-11-07T11:14:41.000Z","updated_at":"2025-06-17T13:27:20.000Z","dependencies_parsed_at":"2023-12-15T09:31:38.686Z","dependency_job_id":"cfa0fe50-a94f-4633-8dbb-f316dbe4884d","html_url":"https://github.com/slamdev/openapi-spring-generator","commit_stats":null,"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/slamdev/openapi-spring-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamdev%2Fopenapi-spring-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamdev%2Fopenapi-spring-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamdev%2Fopenapi-spring-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamdev%2Fopenapi-spring-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slamdev","download_url":"https://codeload.github.com/slamdev/openapi-spring-generator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slamdev%2Fopenapi-spring-generator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265573545,"owners_count":23790459,"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":["gradle-plugin","openapi","spring"],"created_at":"2024-12-01T18:29:55.378Z","updated_at":"2025-07-17T06:33:53.752Z","avatar_url":"https://github.com/slamdev.png","language":"Java","readme":"# openapi-spring-generator\n\nOpenAPI Generator for Java Spring framework\n\n[![Build Actions Status](https://github.com/slamdev/openapi-spring-generator/workflows/build/badge.svg)](https://github.com/slamdev/openapi-spring-generator/actions)\n[![Gradle Plugin Portal](https://img.shields.io/maven-metadata/v/https/plugins.gradle.org/m2/com/github/slamdev/openapi-spring-generator/com.github.slamdev.openapi-spring-generator.gradle.plugin/maven-metadata.xml.svg?colorB=007ec6\u0026label=gradle%20plugin)](https://plugins.gradle.org/plugin/com.github.slamdev.openapi-spring-generator)\n\n## Motivation\n\nIn a microservice world you need to provide a communication layer between your services. Doesnt matter you go with sync\n(HTTP) or async (PubSub) way, you need to maintain a contract between two sides.\n\nThis plugin generates code for DTOs as well as interfaces\\services for HTTP client\\server and PubSub consumer\\producer\nbased on the OpenApi v2\\v3 spec file.\n\nWhenever the spec file is changed, generated code is changed as well, thus allowing you to catch and contract \nincompatibilities in the runtime.\n\n## Usage\n\nFirst step is to add the plugin to your project as described [here](https://plugins.gradle.org/plugin/com.github.slamdev.openapi-spring-generator).\n\nNext step is to write specification of you API in [Swagger/OpenAPI](http://swagger.io/) yaml format. [Swagger editor](http://editor.swagger.io/)\nis really helpful for this task.\n\n## Make a release\n\n```shell script\nTAG=x.x.x \u0026\u0026 git tag -a ${TAG} -m \"make ${TAG} release\" \u0026\u0026 git push --tags\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslamdev%2Fopenapi-spring-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslamdev%2Fopenapi-spring-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslamdev%2Fopenapi-spring-generator/lists"}