We are saying our goodbyes to 2014 with the final update to version 0.7 of SlashDB. Amazing new features await in 0.8, so stay tuned, but in the meantime, here’s…
SlashDB ver. 0.7.39
Final revision of the 0.7 version contains over 20 improvements and fixes including:
- Improved conformance to REST/HTTP standard by adding support for Accept header
- Bundled support for IBM DB2
- Improvements to database configuration GUI
- Improved warning and error messages in admin’s GUI
- Improved handling of date/time types for update
- Fixed certain minor GUI issues (i.e. database dropdown, login box, sorting)
- Fixed incorrect handling of boolean fields and empty values in CSV data upload
- Fixed certain issues with XML representation of the NUMBER data type
- Stronger user-resource authorization
R Stands for Representation
The “R” in REST stands for representation of a resource. While the vast majority of APIs can only output a JSON format, SlashDB from the very first version emphasized the need to provide alternative representations. We are pragmatic programmers, so the requested representation could be conveniently specified as a “file extension” in the URL:
The problem with this approach is that it commingles resource identification with representation. One could argue that the above are four distinct resources because each uniform resource locator (URL) is different.
The solution to this is already designed into the HTTP protocol as the “Accept” header. From this version onwards SlashDB fully supports it (but we will keep the old way forever). And so, the Playlist resource identifier becomes:
By default an HTML representation will be returned, so to select an alternative representation, send the desired content type with your request. Here’s how to do that with a popular command line tool curl:
curl -H "Accept: text/xml" http://demo.slashdb.com/db/Chinook/Playlist/ curl -H "Accept: application/json" http://demo.slashdb.com/db/Chinook/Playlist/ curl -H "Accept: text/csv" http://demo.slashdb.com/db/Chinook/Playlist/ curl -H "Accept: text/html" http://demo.slashdb.com/db/Chinook/Playlist/
So there you have it. Now you can pick your way: strictly REST/HTTP correct or convenient.
Happy New Year
Thank you for your support all year and have a happy and prosperous 2015!