One of the tasks associated with a recent application involved many dynamic subpanels. These subpanels often required many AJAX interactions using jQuery (getJSON); insert, update, list, etc. Instead of trying to writing a controller method for each AJAX interaction, an internal REST Server (Controller) was used to standardize the interactions. This surprisingly made development much easier, as the REST Server forced standard API calls to a single controller. The REST Server was based on Phil Sturgeon’s REST Server Class for CodeIgniter. The result was a fully RESTful server implementation for CodeIgniter using one library, one config file and one controller.
About REST: Representational State Transfer (REST) is an architectural style that abstracts the architectural elements within a distributed hypermedia system. REST ignores the details of component implementation and protocol syntax in order to focus on the roles of components, the constraints upon their interaction with other components, and their interpretation of significant data elements. REST has emerged as a predominant web API design model.