{"ref":"artifact:larshp-abap-swagger","page":"/artifacts/larshp-abap-swagger","json":"/artifacts/larshp-abap-swagger.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"larshp-abap-swagger","name":"ABAP-Swagger","artifact_type":"package","ecosystem":"abap","domain":"protocols-and-apis","origin_ring":"independent","description":{"one_line":"An ABAP library that exposes a class's public methods as REST services, registered through the ZIF_SWAG_HANDLER interface, with a Swagger UI on the same base path describing them.","short":"Exposes ABAP class methods as REST services with Swagger UI","what_it_solves":"Exposing ABAP logic as a REST API otherwise means wiring up the HTTP handling separately from documenting it. ABAP-Swagger takes a class with public methods, implements the ZIF_SWAG_HANDLER interface to register them, and makes those methods reachable over REST; the same base path serves a Swagger UI through swagger.html so the API is described the same way it is exposed. It is installed via [abapGit](artifact:abapgit-abapgit) and needs native JSON support."},"links":{"repo":"https://github.com/larshp/ABAP-Swagger"},"type_properties":{"distribution":{"value":["abapgit"],"sources":[{"url":"https://github.com/larshp/ABAP-Swagger","title":"ABAP-Swagger — README","checked":"2026-10-18","quote":"Install via [abapGit](http://www.abapgit.org)"}]}},"identity":{"license":"MIT"},"source_available":true,"provides":[{"capability":"capability:openapi","what_it_does":"Registers an ABAP class's public methods through the ZIF_SWAG_HANDLER interface to expose them as REST services, with a Swagger UI served from the same base path.","sources":[{"url":"https://github.com/larshp/ABAP-Swagger","title":"larshp/ABAP-Swagger — README","checked":"2026-09-14","quote":"Expose ABAP REST services with Swagger/openapi spec"}]}],"maintainers":["actor:larshp"],"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"drafted_with_ai":true,"contributors":["actor:binaeg","actor:blackmancc","actor:johanneskonings","actor:jrodriguez-rc","actor:larshp","actor:nununo","actor:pokrakam","actor:xinitrc86"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"9 contributors"},{"label":"Repository","tier":"poor","evidence":"pushed 2022-11, not archived"}],"compatibility":[{"label":"Declared for","tier":"good","evidence":"SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"poor","evidence":"README 1 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":105,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":105,"forks":43,"open_issues":24,"archived":false,"pushed_at":"2022-11-10","license_spdx":"MIT","org_owned":false,"default_branch":"main","created_at":"2016-06-26T08:15:24Z","open_prs":2,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":795,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2016-06-26","last_commit":"2022-01-04","commits":104,"contributors":9,"readme_path":"README.md","readme_sha":"9607f87fded1b319ebc0bd557c3e1444a629eb92","repo_read":"2026-10-26","abap_syntax":{"repo":"larshp/ABAP-Swagger","file":"abaplint.json","url":"https://github.com/larshp/ABAP-Swagger/blob/HEAD/abaplint.json","version":"v702","floor":"702","checked":"2026-10-26"}},"edges":{"maintainers":[{"ref":"actor:larshp","name":"Lars Hvam","json":"/actors/larshp.json"}],"contributors":[{"ref":"actor:binaeg","name":"Binaeg","json":"/actors/binaeg.json"},{"ref":"actor:jrodriguez-rc","name":"Jaime Rodriguez Capote","json":"/actors/jrodriguez-rc.json"},{"ref":"actor:blackmancc","name":"Jens Schwarz","json":"/actors/blackmancc.json"},{"ref":"actor:johanneskonings","name":"Johannes Konings","json":"/actors/johanneskonings.json"},{"ref":"actor:larshp","name":"Lars Hvam","json":"/actors/larshp.json"},{"ref":"actor:pokrakam","name":"Mike Pokraka","json":"/actors/pokrakam.json"},{"ref":"actor:nununo","name":"Nuno Godinho","json":"/actors/nununo.json"},{"ref":"actor:xinitrc86","name":"xinitrc86","json":"/actors/xinitrc86.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[{"ref":"artifact:xinitrc86-adash-services","name":"adash-services","json":"/artifacts/xinitrc86-adash-services.json","requirement":"required"}],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}