In case you missed it, version 21.2 of ORDS was released last week.
If you peruse the ReadMe/Release Notes –
BUG:32924934 – Database Actions: Third Party Library updates – uptake Swagger UI 3.45.1
What does that mean?
As you’re building your REST APIs, you’ll want to document them, but maybe also test them? And you can do this with GETs fairly easily, but what about POST, PUT, and DELETE?
We’ll you pull our cURL, of course.
But what if you want to try it right as you’re looking at it, in your browser?
So my module is very simple, one template and ONE handler – a DELETE. It’s tied to a SQL DELETE command. I have a record with ID 21 in my table…that is, I did before I tested the API.
So, how do we access this feature? Read on!
OpenAPI support in ORDS 21.2
When browsing your REST Modules, you’ll see –
The OpenAPI export will give you {json} description of the APIs that you can post into something like swagger.editor.io to generate a doc/client for the module.
In 21.2, we’ve just added that feature natively into the ORDS REST UI.
If you don’t see the OpenAPI View feature available, it’s because it’s not activate if the module is protected by a Priv/Role.
A Quick Demo
More complicated patterns, say POSTing the contents of a file in the Body might require you stepping back out to a REST client like POSTMAN (or Insomnia!) or using the generated cURL command to help you get started on building it out.
Final note on this topic – the feature is only available on (unsecured) REST Modules at the moment. Hopefully next release will include AUTOREST enabled objects as well.
4 Comments
Hi Jeff,
I’mlooking forward to the next release because of auto rest swagger support.
BTW is there any way to log request and response header and payload in standalone mode?
Logging requests, yes – via Jetty logging. Kris talks about that here. Not sure about logging responses???
Jeff,
I would like to know more about ORDS support for UDT (nested table/objects) ? Is there automatic binding between Objectjson or we need to bind them manually using DBMS_JSON?
Give it a go and find out 🙂
Yes, NESTED TABLE as a column in your table is supported. We abstract that as an array by the name of the column.