In this blog article I explain what happens with mappings for which the source is empty, and you map it to an optional or mandatory element. The scenarios described in this article are based on SOA / BPEL 11g. In some next article I will describe what happens when you do the same in SOA 12c (which is not the same).
Seems I've never posted about PL/SQL based REST endpoints other than using the OWA toolkit. Doing the htp.p manually can give the control over every aspect of the results however there is an easier way.
With PL/SQL based source types, the ins and outs can be used directly without any additional programming.
At http://oraclejet.org there are installation steps for installing the basic template of Oracle JET. So I followed the instructions. The installation is done using npm so I went to the NodeJs site where I followed the installation instructions for ubuntu.
Longops is a great way to monitor things that take some time to do work. There's an easy example of using longops on oracle-base here. I borrowed the script from there and put it into a file named my_slow_thing.sql. Now here's a nice example of what's possible with sqlcl.
The easy way to using this is add it to your login.sql which is what I did.
Oracle Database 18.104.22.168 introduced JSON support. This is supported in REST Data Services already and now in the latest SQLCL. This means ORDS can serve up the access to client applications and developers can have a command line way to interact and test features/queries/...