{"id":50592246,"url":"https://github.com/thiagolvlsantos/rest-storage","last_synced_at":"2026-06-05T11:04:27.035Z","repository":{"id":57744366,"uuid":"463335917","full_name":"thiagolvlsantos/rest-storage","owner":"thiagolvlsantos","description":"A generic endpoint for objects storages.","archived":false,"fork":false,"pushed_at":"2024-10-13T23:07:28.000Z","size":441,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-30T11:40:59.441Z","etag":null,"topics":["openapi"],"latest_commit_sha":null,"homepage":"https://thiagolvlsantos.github.io/rest-storage","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thiagolvlsantos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-02-24T23:42:46.000Z","updated_at":"2024-10-13T23:07:32.000Z","dependencies_parsed_at":"2024-05-04T21:28:31.111Z","dependency_job_id":null,"html_url":"https://github.com/thiagolvlsantos/rest-storage","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/thiagolvlsantos/rest-storage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiagolvlsantos%2Frest-storage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiagolvlsantos%2Frest-storage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiagolvlsantos%2Frest-storage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiagolvlsantos%2Frest-storage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thiagolvlsantos","download_url":"https://codeload.github.com/thiagolvlsantos/rest-storage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiagolvlsantos%2Frest-storage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33939225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["openapi"],"created_at":"2026-06-05T11:04:26.590Z","updated_at":"2026-06-05T11:04:27.029Z","avatar_url":"https://github.com/thiagolvlsantos.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rest-storage\n\n[![CI with Maven](https://github.com/thiagolvlsantos/rest-storage/actions/workflows/maven.yml/badge.svg)](https://github.com/thiagolvlsantos/rest-storage/actions/workflows/maven.yml)\n[![CI with CodeQL](https://github.com/thiagolvlsantos/rest-storage/actions/workflows/codeql.yml/badge.svg)](https://github.com/thiagolvlsantos/rest-storage/actions/workflows/codeql.yml)\n[![CI with Sonar](https://github.com/thiagolvlsantos/rest-storage/actions/workflows/sonar.yml/badge.svg)](https://github.com/thiagolvlsantos/rest-storage/actions/workflows/sonar.yml)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=thiagolvlsantos_rest-storage\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=thiagolvlsantos_rest-storage)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=thiagolvlsantos_rest-storage\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=thiagolvlsantos_rest-storage)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.thiagolvlsantos/rest-storage/badge.svg)](https://repo1.maven.org/maven2/io/github/thiagolvlsantos/rest-storage/)\n[![Hex.pm](https://img.shields.io/hexpm/l/plug.svg)](http://www.apache.org/licenses/LICENSE-2.0)\n\nA generic endpoint to storage of objects.\n\n## Usage\n\nInclude latest version [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.thiagolvlsantos/rest-storage/badge.svg)](https://repo1.maven.org/maven2/io/github/thiagolvlsantos/rest-storage/) to your project.\n\n```xml\n\t\t\u003cdependency\u003e\n\t\t\t\u003cgroupId\u003eio.github.thiagolvlsantos\u003c/groupId\u003e\n\t\t\t\u003cartifactId\u003erest-storage\u003c/artifactId\u003e\n\t\t\t\u003cversion\u003e${latestVersion}\u003c/version\u003e\n\t\t\u003c/dependency\u003e\n```\n\n## Add `@EnableRestStorage` to you app.\n\n```java\n...\n@EnableRestStorage\npublic class Application {\n\t...main(String[] args) {...}\n}\n```\n\n## Configuration\nExample using YAMLs configuration file.\n\n```yaml\n# OpenAPI params\nspringdoc:\n  api-docs:\n    path: /swagger\n  swagger-ui:\n    path: /swagger/ui\n    operationsSorter: alpha # Sorting endpoints alphabetically\n    tagsSorter: alpha       # Sorting tags alphabetically\n```\n\n## Rest Handler\nExtend `AbstractRestHandler` to receive all events based on `entity` type. You can, as example, implement a service for a given entity based on `file-storage` or using `jpa + hibernate` to save objects.\n\n## Endpoints\n\nAccording to this setup, after server start, the OpenApi interface will be available at [http://localhost:8080/swagger](http://localhost:8080/swagger) and Swagger UI at [http://localhost:8080/swagger/ui](http://localhost:8080/swagger/ui).\n\n\u003cimg alt=\"Auto-generated API\" src=\"doc/img/swagger-ui.jpg\" width=\"600\"\u003e\n\n## Build\n\nLocaly, from this root directory call Maven commands or `bin/\u003cscript name\u003e` at your will...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthiagolvlsantos%2Frest-storage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthiagolvlsantos%2Frest-storage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthiagolvlsantos%2Frest-storage/lists"}