APIs are exciting. Not because of their tech per se but because they unlock the ability to innovate. It’s all about enablement..
— Ben Kepes (@benkepes) August 18, 2012
As I mentioned in my last post, part of the development for the latest version of Enterprise Tester has included a greatly expanded REST API.
This REST API is implemented using ASP.Net WebAPI.
The technology Behind the API is not necessarily “exciting” (compared to what the API enables for customers and 3rd party developers) – but demonstrates taking a large and complex application and exposing much of the functionality through the API.
There are plenty of examples of WebAPI usage out there on blogs, but not much information from people implementing larger API’s end-to-end, or retro-fitting an API to an existing (brown-fields) application.
So I thought this was a good opportunity to dive a little deeper into the implementation of the API.
I’m going to break this up into a few posts covering the various aspects of the API implementation:
- Links, absolute URI’s and JSON rewriting.
- Expand” implementation and view model mapping.
- Generating API documentation.
- OData, TQL and Filtering.
- Authentication – Session, Basic and OAuth.
- Long running tasks.
- WebAPI Testing.
- Anatomy of an API plugin.
- Final Thoughts.
Click here to take a look at part 1 – Links, absolute URL’s and JSON rewriting – where I cover the process we went through to generate our JSON responses including links and transforming relative URL to absolute URI’s as part of the request.
Though I work for Catch Software, I’m publishing this series on my personal blog – so any opinions expressed here are strictly my own and not those of Catch Limited New Zealand (and certainly are likely to fall out of date after publishing this series) – for the official word on Enterprise Tester, please instead check out the company blogs – http://blogs.catchsoftware.com or the website http//www.enterprisetester.com.
Catch Software is hiring
Catch Software is needing to expand the development team and are looking for a passionate senior developer, or highly motivated intermediate developer looking to move into a senior position.
You would be working on the Enterprise Tester application (as well as other existing and new products Catch Software are developing) alongside myself and the rest of the great Catch Software team – you can find more about the job offer here.