In this tutorial, we will run through the process of exposing and RDBMS as an OData service. When OData is enabled for an datasource, you do not need to manually define CRUD operations. These will be automatically created.
Note that the OData feature can only be used for RDBMS and Cassandra datasources.
Setting up an RDBMS
Follow the steps given below to set up a MySQL database for this tutorial.
- Install the MySQL server and the MySQL client.
Create a MySQL database with the following table:
CREATE TABLE ACCOUNT(AccountID int NOT NULL,Branch varchar(255) NOT NULL, AccountNumber varchar(255),AccountType ENUM('CURRENT', 'SAVINGS') NOT NULL, Balance FLOAT,ModifiedDate DATE,PRIMARY KEY (AccountID));
Enter the following data into the table:
INSERT INTO ACCOUNT VALUES (1,"AOB","A00012","CURRENT",231221,'2014-12-02');
Expose the RDBMS as an OData service
Follow the steps given below.
Log in to the management console and select Create under Data Service menu.
Create a data service to expose the MySQL database you created above.
- When you connect the datasource, select the OData check box as shown below.
Click Finish to save the data service.
Go to the Deployed Services screen and click the data service that you created. The endpoints for accessing data in the datasource will be shown as follows:
Access the data service using CRUD operations
Open a command prompt execute the following CURL commands using CRUD operations:
To get the service document:
curl -X GET -H 'Accept: application/json' https://10.100.5.65:9443/services/dataservice/
To get the metadata of the service:
curl -X GET -H 'Accept: application/xml' https://10.100.5.65:9443/services/dataservice/$metadata
To read details from the ACCOUNT table:
curl -X GET -H 'Accept: application/xml' https://10.100.5.65:9443/services/dataservice/ACCOUNT