Table of Contents
- List of Examples
- List of Figures
- List of Tables
- Title and Copyright Information
- Preface
- Changes in Release 24.3 Oracle REST Data Services Developer's Guide
- 1 Introduction to Oracle REST Data Services
- 
               
               
                  
                  2
                      Developing Oracle REST Data Services Applications
               
                  
               
               
               - 2.1 Introduction to Relevant Software
- 2.2 Getting Started with RESTful Services
- 
                     
                     
                        
                        2.3
                            Automatic Enabling of Schema Objects for REST Access (AutoREST)
                     
                        
                     
                     
                     - 
                           
                           
                              
                              2.3.1
                                  Examples: Accessing Objects Using RESTful Services
                           
                              
                           
                           
                           - 2.3.1.1 Get Schema Metadata
- 2.3.1.2 Get Object Metadata
- 2.3.1.3 Get Object Data
- 2.3.1.4 Get Table Data Using Paging
- 2.3.1.5 Get Table Data Using Query
- 2.3.1.6 Get Table Row Using Primary Key
- 2.3.1.7 Insert Table Row
- 2.3.1.8 Update/Insert Table Row
- 2.3.1.9 Delete Using Filter
- 2.3.1.10 Post by Batch Load
 
- 2.3.2 Filtering in Queries
- 2.3.3 Auto PL/SQL
- 2.3.4 Support for JSON-Relational Duality View
 
- 
                           
                           
                              
                              2.3.1
                                  Examples: Accessing Objects Using RESTful Services
                           
                              
                           
                           
                           
- 
                     
                     
                        
                        2.4
                            Manually Creating RESTful Services Using SQL and PL/SQL
                     
                        
                     
                     
                     - 2.4.1 About Oracle REST Data Services Mechanisms for Passing Parameters
- 
                           
                           
                              
                              2.4.2
                                  Using SQL/JSON Database Functions
                           
                              
                           
                           
                           - 
                                 
                                 
                                    
                                    2.4.2.1
                                        Inserting Nested JSON Objects into Relational Tables
                                 
                                    
                                 
                                 
                                 - 2.4.2.1.1 Usage of the :body Bind Variable
- 2.4.2.1.2 Example of JSON Purchase Order with Nested LineItems
- 2.4.2.1.3 Table Definitions for PurchaseOrder and LineItems Tables
- 2.4.2.1.4 PL/SQL Handler Code for a POST Request
- 2.4.2.1.5 Creating the REST API Service to Invoke the Handler
- 2.4.2.1.6 Defining the REST Service and Handler using PL/SQL API
 
- 2.4.2.2 Generating Nested JSON Objects from Hierachical Relational Data
- 2.4.2.3 Testing the RESTful Services
 
- 
                                 
                                 
                                    
                                    2.4.2.1
                                        Inserting Nested JSON Objects into Relational Tables
                                 
                                    
                                 
                                 
                                 
 
- 2.5 Manually Creating RESTful Services Using Javascript
- 2.6 About Working with Dates Using Oracle REST Data Services
- 2.7 Creating RESTful Web Services Using Database Actions
- 2.8 Configuring Secure Access to RESTful Services
- 2.9 JWT Bearer Token Authentication and Authorization Using JWT Profile
- 2.10 About Oracle REST Data Services User Roles
- 2.11 Authenticating Against WebLogic Server User Repositories
- 2.12 Integrating with Existing Group/Role Models
- 2.13 Integrating Oracle REST Data Services and WebLogic Server
- 2.14 Using the Oracle REST Data Services PL/SQL API
- 2.15 Oracle REST Data Services Database Authentication
- 
                     
                     
                        
                        2.16
                            Overview of Pre-hook
                        Functions
                     
                        
                     
                     
                     - 2.16.1 Configuring the Pre-hook Function
- 2.16.2 Using a Pre-hook Function
- 2.16.3 Processing of a Request
- 2.16.4 Identity Assertion of a User
- 2.16.5 Aborting Processing of a Request
- 2.16.6 Ensuring Pre-hook is Executable
- 2.16.7 Exceptions Handling by Pre-hook Function
- 2.16.8 Pre-hook Function Efficiency
- 2.16.9 Using Pre-hook Function with Protected Resources
- 2.16.10 Pre-Hook Examples
 
- 2.17 Generating Hyperlinks
- 2.18 About HTTP Error Responses
 
- 
               
               
                  
                  3
                      Implicit Parameters
               
                  
               
               
               - 
                     
                     
                        
                        3.1
                            List of Implicit Parameters
                     
                        
                     
                     
                     - 3.1.1 About the :body parameter
- 3.1.2 About the :body_text Parameter
- 3.1.3 About the :content_type Parameter
- 3.1.4 About the :current_user Parameter
- 3.1.5 About the :status_code Parameter
- 3.1.6 About the :forward_location Parameter
- 
                           
                           
                              
                              3.1.7
                                  About the Pagination Implicit Parameters
                           
                              
                           
                           
                           - 3.1.7.1 About the :page_offset Parameter
- 3.1.7.2 About the :page_size Parameter
- 3.1.7.3 About the :row_offset Parameter
- 3.1.7.4 About the :row_count Parameter
- 3.1.7.5 About the :fetch_offset Parameter
- 3.1.7.6 About the :fetch_size Parameter
- 3.1.7.7 About Automatic Pagination
- 3.1.7.8 About Manual Pagination
 
 
 
- 
                     
                     
                        
                        3.1
                            List of Implicit Parameters
                     
                        
                     
                     
                     
- 
               
               
                  
                  4
                      ORDS PL/SQL Package Reference 
               
                  
               
               
               - 4.1 ORDS.CREATE_ROLE
- 4.2 ORDS.CREATE_SERVICE
- 4.3 ORDS.DEFINE_HANDLER
- 4.4 ORDS.DEFINE_MODULE
- 4.5 ORDS.DEFINE_PARAMETER
- 4.6 ORDS.DEFINE_PRIVILEGE
- 4.7 ORDS.DEFINE_SERVICE
- 4.8 ORDS.DEFINE_TEMPLATE
- 4.9 ORDS.DELETE_MODULE
- 4.10 ORDS.DELETE_PRIVILEGE
- 4.11 ORDS.DELETE_ROLE
- 4.12 ORDS.DROP_REST_FOR_SCHEMA
- 4.13 ORDS.ENABLE_OBJECT
- 4.14 ORDS.DROP_REST_FOR_OBJECT
- 4.15 ORDS.ENABLE_SCHEMA
- 4.16 ORDS.PUBLISH_MODULE
- 4.17 ORDS.RENAME_MODULE
- 4.18 ORDS.RENAME_PRIVILEGE
- 4.19 ORDS.RENAME_ROLE
- 4.20 ORDS.SET_MODULE_ORIGINS_ALLOWED
- 4.21 ORDS.SET_URL_MAPPING
- 4.22 ORDS.SET_SESSION_DEFAULTS
- 4.23 ORDS.RESET_SESSION_DEFAULTS
- 4.24 ORDS.SET_PROPERTY
- 4.25 ORDS.UNSET_PROPERTY
 
- 
               
               
                  
                  5
                      Oracle REST Data Services Administration PL/SQL Package Reference
               
                  
               
               
               - 5.1 ORDS_ADMIN.CREATE_ROLE
- 5.2 ORDS_ADMIN.DEFINE_HANDLER
- 5.3 ORDS_ADMIN.DEFINE_MODULE
- 5.4 ORDS_ADMIN.DEFINE_PARAMETER
- 5.5 ORDS_ADMIN.DEFINE_PRIVILEGE
- 5.6 ORDS_ADMIN.DEFINE_SERVICE
- 5.7 ORDS_ADMIN.DEFINE_TEMPLATE
- 5.8 ORDS_ADMIN.DELETE_MODULE
- 5.9 ORDS_ADMIN.DELETE_PRIVILEGE
- 5.10 ORDS_ADMIN.DELETE_ROLE
- 5.11 ORDS_ADMIN.DROP_REST_FOR_SCHEMA
- 5.12 ORDS_ADMIN.ENABLE_OBJECT
- 5.13 ORDS_ADMIN.DROP_REST_FOR_OBJECT
- 5.14 ORDS_ADMIN.ENABLE_SCHEMA
- 5.15 ORDS_ADMIN.PUBLISH_MODULE
- 5.16 ORDS_ADMIN.RENAME_MODULE
- 5.17 ORDS_ADMIN.RENAME_PRIVILEGE
- 5.18 ORDS_ADMIN.RENAME_ROLE
- 5.19 ORDS_ADMIN.SET_MODULE_ORIGINS_ALLOWED
- 5.20 ORDS_ADMIN.SET_URL_MAPPING
- 5.21 ORDS_ADMIN.ENABLE_HOUSEKEEPING_JOB
- 5.22 ORDS_ADMIN.DROP_HOUSEKEEPING_JOB
- 5.23 ORDS_ADMIN.PERFORM_HOUSEKEEPING
- 5.24 ORDS_ADMIN.SET_SESSION_DEFAULTS
- 5.25 ORDS_ADMIN.RESET_SESSION_DEFAULTS
- 5.26 ORDS_ADMIN.PROVISION_ADMIN_ROLE
- 5.27 ORDS_ADMIN.PROVISION_RUNTIME_ROLE
- 5.28 ORDS_ADMIN.UNPROVISION_ ROLES
- 5.29 ORDS_ADMIN.CONFIG_PLSQL_GATEWAY
- 5.30 ORDS_ADMIN.SET_PROPERTY
- 5.31 ORDS_ADMIN.SET_PROPERTY
- 5.32 ORDS_ADMIN.UNSET_PROPERTY
 
- 6 OAUTH PL/SQL Package Reference
- 7 OAUTH_ADMIN PL/SQL Package Reference
- 8 Enabling ORDS Database API
- 
               
               
                  
                  9
                      REST-Enabled SQL Service
               
                  
               
               
               - 9.1 REST-Enabled SQL Service Terminology
- 9.2 Configuring the REST-Enabled SQL Service
- 9.3 Using cURL with REST-Enabled SQL Service
- 9.4 Getting Started with the REST-Enabled SQL Service
- 9.5 REST-Enabled SQL Service Examples
- 9.6 REST-Enabled SQL Request and Response Specifications
- 9.7 Supported SQL, SQL*Plus, and SQLcl Statements
- 9.8 REST-Enabled SQL Service and MySQL Database
 
- 
               
               
                  
                  10
                      GraphQL in Oracle REST Data Services
               
                  
               
               
               - 10.1 GraphQL Terminology
- 10.2 Enabling GraphQL in Oracle REST Data Services
- 10.3 Enabling Objects for GraphQL
- 10.4 Accessing Objects Using GraphQL queries
- 
                     
                     
                        
                        10.5
                            Examples of Filtering in
                        Queries
                     
                        
                     
                     
                     - 10.5.1 Supported Data Types
- 10.5.2 Filtering by Primary Key
- 
                           
                           
                              
                              10.5.3
                                  Where Filter
                           
                              
                           
                           
                           - 10.5.3.1 Example: EQUALS (eq) operator
- 10.5.3.2 Example: Greater than (>) Operator and Date Data Type
- 10.5.3.3 Example: LIKE (like) operator
- 10.5.3.4 Example: IN (in) operator
- 10.5.3.5 Example: NOT (not) Operator
- 10.5.3.6 Example: AND (and) operator
- 10.5.3.7 Example: OR (or) operator
- 10.5.3.8 Example: Where Filter in Children Types
- 10.5.3.9 Working with Dates/Timestamps Using Filters
 
 
- 10.6 Sorting the Data
- 10.7 Keyset Pagination
- 10.8 Using Dynamic Arguments in Queries: Variables
- 10.9 GraphiQL
 
- 11 Extending ORDS Functionality with Plugins
- 
               
               
                  
                  12
                      Migrating from mod_plsql to ORDS
               
                  
               
               
               - 12.1 Oracle HTTP Server mod_plsql Authentication
- 12.2 Example Oracle HTTP Server DAD file
- 12.3 Mapping mod_plsql Settings to ORDS
- 12.4 Example ORDS Configuration Files
- 12.5 Example ORDS URL Mapping
- 12.6 Example ORDS Default Configuration
- 12.7 Oracle REST Data Services Functionality
- 12.8 ORDS Features
- 12.9 Modifying Synonyms
 
- A Setting-up a PL/SQL Gateway User
- B Oracle REST Data Services Database Type Mappings
- C Troubleshooting Oracle REST Data Services
- 
               
               
                  
                  D
                      Third-Party License Information
               
                  
               
               
               - D.1 ANTLR4 Java Runtime 4.13.2
- D.2 Hack 3.003
- D.3 Monaco Editor 0.44.0
- D.4 babel-polyfill 7.20.15
- D.5 gridstack.js 10.1.0
- D.6 d3-flame-graph 4.1.3
- D.7 Dexie 4.0.4
- D.8 react 18.3.1
- D.9 react-dom 18.3.1
- D.10 requirejs 2.3.7
- D.11 jaxb-runtime 4.0.5
- D.12 Jetty 10.0.21
- D.13 jackson-core 2.16.1
- D.14 Jakarta Servlet 4.0.4
- D.15 jakarta.inject-api 2.0.1
- D.16 jQuery UI 1.13.2
- D.17 jackson-annotations 2.16.1
- D.18 jackson-databind 2.16.1
- D.19 jackson-dataformat-xml 2.16.1
- D.20 graphql-js 16.8.0
- D.21 graphiql 3.0.4
- D.22 avsc 5.7.7
- D.23 D3 7.8.4
- D.24 long.js 5.2.0
- D.25 SnappyJS 0.6.1
- D.26 JavaScript Extension Toolkit (JET) 16.1.4
- D.27 MongoDB bson 4.10.2
- D.28 Commons FileUpload 1.5
- D.29 opentelemetry-java 1.41.0
- D.30 Google Guava 33.2.1
- D.31 Eclipse Parsson 1.1.5
- D.32 xml2js 0.6.2
- D.33 Jansi 2.4.1
- D.34 commons-io 2.15.1
- D.35 Join Monster 4.0.0
- D.36 SheetJS 0.20.1
- D.37 graphql-compose 9.0.11
- D.38 hotkeys-js 3.13.7
- D.39 swagger-ui 5.17.12
- D.40 Commons Compress 1.26.0
 
- Index