It’s already been two years since I first released ABAP OpenAPI v1. The past two years I’ve mainly been focusing on SAP BTP-related projects, but a few weeks ago, I stubbled upon a few customers that were still using my initial release. So I thought to myself, time for a (long overdue) update!
The past few evenings I’ve updated the solution to the latest releases of the included opensource projects and I added a little new feature / improvement.
So, what was updated?
First of all the existing XSL transformations from the OASIS project were two years old, these we’re updated to the latest versions.
To get an idea of what has changed in the meanwhile, you can have a look at the commits for odata V2 here and odata V4 here. To sum it all up, improved generation of OpenAPI specs from odata metadata!
Swagger UI, was updated to the latest release at the time of writing 4.10.0, release information can be found here.
New feature: automatic handling of etags for PATCH, PUT and DELETE requests
While this solution already provided automatic X-CSRF-Token handling, etag handling was missing. When trying out a modifying operation like e.g. a PATCH request, the request would fail if etag handling was required.
Example PATCH request for standard API API_SALES_ORDER_SRV gateway service:
Resulting in HTTP 428 (precondition required) error, showing an error message that the If-Match header was missing:
Doing the same patch request with the updated version, now automatically injects an etag in the PATCH, PUT and DELETE requests:
What’s up next?
I think this update already makes the solution even more solid, but there’s always room for improvement. So I’m thinking (if I find the time) about adding a Fiori app to the solution as well, which would allow e.g. key-users without SAP GUI / NWBC access to use the solution through a real Fiori experience.
Want to try out this new version? Get it here!