Для того, чтобы мой ответ имел смысл, позвольте мне выделить тот технический стек, о котором вы говорите.
HTTP-запрос -> ORDS -> DB -> APEX Engine
ORDS (oracle.com/rest) - это то, что обеспечивает всю http (s) обработку и выполнение rest-sql, rest apis и вызова в механизм APEX
. Это делается через JDBC Connection Pooling дляOracle Database Server.
Сам APEX - это механизм на основе plsql внутри базы данных.Итак, на самом деле «apex server» не существует
Теперь к более прямому вопросу.Как включить REST SQL.В файле конфигурации ORDS default.xml добавьте следующее:
<entry key="restEnabledSql.active">true</entry>
Как только эта функция будет включена, эта функция будет доступна.
Вот команда cURL для проверки.
curl -X "POST" "http://localhost:9090/ords/klrice/_/sql" \
-H 'Content-Type: application/sql' \
-u 'KLRICE:KLRICE' \
-d "select * from dual;"
Вывод >>
{
"env":{
"defaultTimeZone":"America/New_York"
},
"items":[
{
"statementId":1,
"statementType":"query",
"statementPos":{
"startLine":1,
"endLine":1
},
"statementText":"select * from dual",
"response":[
],
"result":0,
"resultSet":{
"metadata":[
{
"columnName":"DUMMY",
"jsonColumnName":"dummy",
"columnTypeName":"VARCHAR2",
"precision":1,
"scale":0,
"isNullable":1
}
],
"items":[
{
"dummy":"X"
}
],
"hasMore":false,
"limit":1500,
"offset":0,
"count":1
}
}
]
}
Также здесь есть запись в блоге с более подробной информацией http://krisrice.io/2017-09-06-ords-173-beta-introducing-rest-enabled/