REST enable your Database for CRUD with TopLink/EclipseLink and JDeveloper
By Shay Shmeltzer-Oracle on Aug 01, 2014
It seems that REST interfaces are all the rage now for accessing your backend data, this is especially true in the world of mobile development. In this blog I'm going to show you how easy it is to provide a complete REST interface for your database by leveraging TopLink/EclipseLink and JDeveloper.
This relies on a capability that is available in TopLink 12c where every JPA entity that you have created can be RESTified with a simple servlet that TopLink provides.
All you need to do is locate the file toplink-dataservices-web.jar on your machine (this is included in the JDeveloper install so you can just search that directory) and then package your project as a WAR.
At that point you'll be able to get a complete CRUD set of operation for this entity.
In the video below I'm to retrieving departments by their id using a URL like this:
(out - name of my persistence unit. Departments - name of my entity)
A complete list of all the REST URL syntax is here part of the TopLink documentation on this feature.:
Check out how easy the process is in this video (using MySQL database):
Here are some additional URL samples for getting other types of queries:
Get all the Employees - http://127.0.0.1:7101/TLServices/persistence/v1.0/out/query/Employees.findAll
Get all the Employees in department 50 - http://127.0.0.1:7101/TLServices/persistence/v1.0/out/entity/Departments/50/employeesList
Executing a specific named query (@NamedQuery(name = "Employees.findByName", query = "select o from Employees o where o.first_name like :name order by o.last_name")) -http://127.0.0.1:7101/TLServices/persistence/v1.0/out/query/Employees.findByName;name=John