Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
ManifoldCF 0.1
-
None
Description
(This was originally a comment on CONNECTORS-56 dated 7/16/2010.)
It has come to my attention that the API would be more "pure" RESTful if the API verb was represented using the HTTP GET/PUT/POST/DELETE methods and the input argument identifier represented in the context path.
So, GET outputconnection/get {"connection_name":<connection_name>} would be GET outputconnections/<connection_name>
and GET outputconnection/delete {"connection_name":<connection_name>} would be DELETE outputconnections/<connection_name>
and GET outputconnection/list would be GET outputconnections
and PUT outputconnection/save {"outputconnection":<output_connection_object>} would be PUT outputconnections/<connection_name> {"outputconnection":<output_connection_object>}
What we have today is certainly workable, but just not as "pure" as some might desire. It would be better to take care of this before the initial release so that we never have to answer the question of why it wasn't done as a "proper" RESTful API.
BTW, I did check to verify that an HttpServlet running under Jetty can process the DELETE and PUT methods (using the doDelete and doPut method overrides.)
Also, POST should be usable as an alternative to PUT for API calls that have large volumes of data.