The WSO2 Data Services feature supports exposing data as a set of REST style resources in addition to the SOAP services. This sample demonstrates how to use rest resources for data inserts and batch data inserts via POST requests.
Insert Single Row of Data
When you send an HTTP POST request, the format of the JSON object name should be "_post$RESOURCE_NAME", and the child name/values of the child fields should be the names and values of the input parameters in the target query.
Sample Request : http://localhost:9763/services/TestBatchRequests/InsertDataRes
Http Method : POST
Request Headers : Content-Type : application/json
Payload :
Insert Batch of Data
When batch requests are enabled for data services resources, resource paths are created with the "_batch_req" suffix. In the payload content, the single request JSON object becomes one of the many possible objects in a parent JSON array object.
Sample Request : http://localhost:9763/services/TestBatchRequests/InsertDataRes_batch_req
Http Method : POST
Request Headers : Content-Type : application/json
Payload :
<data enableBatchRequests="true" name="TestBatchRequests" transports="http https local"> <config enableOData="false" id="MysqlDB"> <property name="driverClassName">com.mysql.jdbc.Driver</property> <property name="url">jdbc:mysql://localhost:3306/testdb</property> <property name="username">root</property> <property name="password">root</property> </config> <query id="InsertData" useConfig="MysqlDB"> <sql>Insert into Customers(customerId,firstName,lastName,registrationID) values (?,?,?,?)</sql> <param name="p0_customerId" sqlType="INTEGER"/> <param name="p1_firstName" sqlType="STRING"/> <param name="p2_lastName" sqlType="STRING"/> <param name="p3_registrationID" sqlType="INTEGER"/> </query> <resource method="POST" path="InsertDataRes"> <call-query href="InsertData"> <with-param name="p0_customerId" query-param="p0_customerId"/> <with-param name="p1_firstName" query-param="p1_firstName"/> <with-param name="p2_lastName" query-param="p2_lastName"/> <with-param name="p3_registrationID" query-param="p3_registrationID"/> </call-query> </resource> </data>
Insert Single Row of Data
When you send an HTTP POST request, the format of the JSON object name should be "_post$RESOURCE_NAME", and the child name/values of the child fields should be the names and values of the input parameters in the target query.
Sample Request : http://localhost:9763/services/TestBatchRequests/InsertDataRes
Http Method : POST
Request Headers : Content-Type : application/json
Payload :
{ "_postinsertdatares": { "p0_customerId" : 1, "p1_firstName": "Doe", "p2_lastName": "John", "p3_registrationID": 1 } }
Insert Batch of Data
When batch requests are enabled for data services resources, resource paths are created with the "_batch_req" suffix. In the payload content, the single request JSON object becomes one of the many possible objects in a parent JSON array object.
Sample Request : http://localhost:9763/services/TestBatchRequests/InsertDataRes_batch_req
Http Method : POST
Request Headers : Content-Type : application/json
Payload :
{ "_postinsertdatares_batch_req": { "_postinsertdatares": [{ "p0_customerId": 1, "p1_firstName": "Doe", "p2_lastName": "John", "p3_registrationID": 10 }, { "p0_customerId": 2, "p1_firstName": "Anne", "p2_lastName": "John", "p3_registrationID": 100 } ] } }
No comments:
Post a Comment