{"id":18815469,"url":"https://github.com/zejnilovic/spring-api-visualizer","last_synced_at":"2026-05-03T07:47:39.401Z","repository":{"id":92844299,"uuid":"329742636","full_name":"Zejnilovic/spring-api-visualizer","owner":"Zejnilovic","description":"Generates a tree graph of your spring API endpoints","archived":false,"fork":false,"pushed_at":"2024-07-16T20:21:36.000Z","size":86,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-29T06:57:35.836Z","etag":null,"topics":["api","graphviz","spring","visualization"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/Zejnilovic.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":"2021-01-14T21:49:05.000Z","updated_at":"2021-01-15T08:12:37.000Z","dependencies_parsed_at":"2025-05-22T13:16:31.241Z","dependency_job_id":null,"html_url":"https://github.com/Zejnilovic/spring-api-visualizer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Zejnilovic/spring-api-visualizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zejnilovic%2Fspring-api-visualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zejnilovic%2Fspring-api-visualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zejnilovic%2Fspring-api-visualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zejnilovic%2Fspring-api-visualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zejnilovic","download_url":"https://codeload.github.com/Zejnilovic/spring-api-visualizer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zejnilovic%2Fspring-api-visualizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32562118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["api","graphviz","spring","visualization"],"created_at":"2024-11-07T23:49:08.995Z","updated_at":"2026-05-03T07:47:39.394Z","avatar_url":"https://github.com/Zejnilovic.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spring API Endpoints visualization\n\nA simple collection of ruby scripts to collect data from `/actuator/mappings` and visualize all endpoint connections and the API \"tree\".\n\n### Example\n\nExemple generatet using example spring project [PetClinic](https://github.com/spring-projects/spring-petclinic).\n\n![Alt text](examples/petclinic.png?raw=true \"PetClinic example\")\n\nAdded to `application.properties`\n```\n...\nmanagement.endpoints.enabled-by-default=true\n...\n```\n\nThis projects `properties.conf`\n\n```json\n{\n    \"URL_BASE\": \"http://localhost:8080\",\n    \"MAPPING_ENDPOINT\": \"/actuator/mappings\",\n    \"CLASS_PREFIX\": \"org.springframework.samples.petclinic\",\n    \"OUTPUT_FILE_NAME\": \"diagram.png\"\n}\n```\n\n## Settings\n\nIn the folder resources you need create a file called `properties.conf`.\nThis is expected to be a JSON with keys\n\n- `\"URL_BASE\"` - Base url to your Spring app API\n- `\"MAPPING_ENDPOINT\"` - actuator endpoint for mapping. If you did not change anything and just enabled it, then it is `\"/actuator/mappings\"`,\n- `\"LOGIN_ENDPOINT\"` - endpoint for the login to your app. If you leave it empty then the script will skip logging in.\n- `\"CLASS_PREFIX\"` - prefix of your controller classes. Your organization should suffice\n- `\"OUTPUT_FILE_NAME\"` the name of the output file png\n\n## Running\n\nSpring app needs to be running\n\n```shell\n$\u003e bundle install\n$\u003e rake run\n```\n\n## Testing\n\nNot implemented yet. As this is more excercise project then an enterprise ready solution. but you can run `rake lint`\n\n## ToDo\n\n- how to add metadata like method, params, etc.?\n- clean up the code\n- add tests\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzejnilovic%2Fspring-api-visualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzejnilovic%2Fspring-api-visualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzejnilovic%2Fspring-api-visualizer/lists"}