{"id":13698860,"url":"https://github.com/abap-openapi/abap-openapi","last_synced_at":"2025-04-07T06:11:48.600Z","repository":{"id":37960904,"uuid":"331034649","full_name":"abap-openapi/abap-openapi","owner":"abap-openapi","description":"ABAP OpenAPI Client and Server generator in ABAP","archived":false,"fork":false,"pushed_at":"2025-03-26T17:11:56.000Z","size":1108,"stargazers_count":77,"open_issues_count":26,"forks_count":12,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-03-31T05:05:20.587Z","etag":null,"topics":["abap","openapi","swagger"],"latest_commit_sha":null,"homepage":"https://abap-openapi.github.io/web-openapi-client/","language":"ABAP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abap-openapi.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},"funding":{"github":"larshp"}},"created_at":"2021-01-19T16:03:52.000Z","updated_at":"2025-03-26T17:11:59.000Z","dependencies_parsed_at":"2024-02-12T09:37:06.057Z","dependency_job_id":"9d013f11-2ece-42db-a9d2-a491b2a7564e","html_url":"https://github.com/abap-openapi/abap-openapi","commit_stats":{"total_commits":128,"total_committers":5,"mean_commits":25.6,"dds":0.1328125,"last_synced_commit":"545bb67c8f870cefe47a2f66c6f63f44b39a71de"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abap-openapi%2Fabap-openapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abap-openapi%2Fabap-openapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abap-openapi%2Fabap-openapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abap-openapi%2Fabap-openapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abap-openapi","download_url":"https://codeload.github.com/abap-openapi/abap-openapi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247601448,"owners_count":20964864,"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":["abap","openapi","swagger"],"created_at":"2024-08-02T19:00:53.947Z","updated_at":"2025-04-07T06:11:48.576Z","avatar_url":"https://github.com/abap-openapi.png","language":"ABAP","readme":"# ABAP OpenAPI Client \u0026 Server Generator\n\nABAP OpenAPI is an [OpenAPI](https://www.openapis.org) generator tool designed to create API clients, ICF server handlers, and ICF server implementation stubs from OpenAPI documents.\n\n## Generate\n\nIt is possible to generate the objects using different processes:\n- Generate via our [web client](https://abap-openapi.github.io/web-openapi-client/)\n- Generate via command line (NodeJS)\n- Generate via ABAP\n\n## Features\n\n| Feature |  |\n| --- | --- |\n| OpenAPI File Types | JSON |\n| OpenAPI Versions | v2\\*, v3 |\n| ABAP Versions | v702 and up  |\n| Object Creation | one self-contained global class \u0026 interface per OpenAPI definition |\n\n\\* OpenAPI v2 is currently only capable by converting the v2 file to a v3 file. This can be done manually using the [Swagger Editor](https://editor.swagger.io/), or programmatically using [Swagger Converter](https://github.com/swagger-api/swagger-converter)\n\nNOTE: generated code currently uses ZCL_OAPI_JSON, suggest copying the implementation to a local class in the generated global class\n\n## Use Cases\n### API Creator\n- Write the OpenAPI document for your API so that you can generate the ICF handler and Server Implementation boilerplate\n- Use the OpenAPI document to create automatic documentation for your API\n\n### API User\n- Use any OpenAPI document to create the client class to consume external APIs\n\n## Building/Developing\n### Prerequisites\n[NodeJS](https://nodejs.org) 16+\n\n### Setup \n- clone this repository\n- run `npm install`\n\n### Testing\nUnit Tests: `npm test`\nIntergration Tests: `npm run integration_test`\n\nYou can try out the generation using Swagger's Petstore Example:\n- Just run `npm run petstore`\n- The output files will be generated in `./test_v1/generated/`\n\n## Example\n\n```sh\n#!/usr/bin/env bash\n\nrm -rf abap-openapi\ngit clone --depth=1 https://github.com/abap-openapi/abap-openapi\nrm -rf abap-openapi/.git\ncd abap-openapi\nnpm ci\nnpm run transpile\nrm ../src/api/*.abap\nnode test_v2/index.mjs \u003cfilename\u003e ../src/api \u003cname\u003e\n```\n","funding_links":["https://github.com/sponsors/larshp"],"categories":["Categories"],"sub_categories":["🐝 API \u0026 Services"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabap-openapi%2Fabap-openapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabap-openapi%2Fabap-openapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabap-openapi%2Fabap-openapi/lists"}