The Toolbox Resources provide some resources that can be used for the testing or training of web API integration software and data formats by Internet developers and users.
There are four resources in the toolbox. The first, Characters, is a recreation of the Internet protocol suite Character Generator Protocol (CHARGEN) service providing a string of characters based on the input parameters. The second, Conversions, is a simple Unit of Measure converter. The third, Quotes, is a recreation of the Internet protocol suite Quote of the Day (QOTD) service providing quotes of famous (and not so famous) people. The fourth, Reflections, is a recreation of the Internet protocol suite Echo Protocol (ECHO) service, reflecting back to the user a simple message, information about their browser or the resource's server.
The Response Body can be returned as plain text, JSON, XML, HTML, CLOD or YAML.
What These Resources Are Not
The Toolbox Resources are not any of the following:
An API requires that there be an Application to have a Programming Interface to. There is no application as such involved in any of these resources.
Based on the Richardson Maturity Model (described by Martin Fowler here), Level 2 is the highest level these resources attain
- Only two HTTP methods are currently allowed: GET and HEAD.
- GET and HEAD are only used for one purpose, to retrieve data from the server, not to modify it in any way.
- While some links are provided, they are not connected to the Application State since there is no Application.
Authenticated or Authorized
- No login is needed to access these resources.
- No OAuth or any other 3rd party authentication mechanism is used.
HTTPS does provide an encrypted communications tunnel, but the data itself is unencrypted.
Any other formal acronym applied to web services or resources.
Well, OK, all of them haven't been inspected (there are probably dozens of competing standards by now). If any of these resources actually meet the requirements of some of them, it is purely coincidental.
Useful in a production environment.
Do you really want one of the silly quotes on your web site?
What These Resources Hopefully Are
The Toolbox Resources strive to be the following:
Useful to learn or train on a RESTful API data integration tool or connection software.
- While these resources aren't fully RESTful, they are web-friendly and can be used as an introduction to the basics of making a request to a fully RESTful API and consuming the response.
- Trying to learn a new API tool by connecting to a full API can be extremely frustrating when errors occur and the inevitable finger-pointing of which software (or the user) is responsible for the fault.
The concept of what each resource is trying to provide is purposefully very straightforward and should be easily understandable.
A first step towards learning how to interact with RESTful APIs.
The first step is often the most difficult and frustrating.
A very light weight Rosetta Stone for some different data formats.
Because the same data responses can be sent in multiple formats, they can be used to help teach the differences between the formats.
A very light weight introduction to XML and JSON Schemas.
Because a JSON Schema, XML Schema and diagrams are provided for each resource, the basics of XML and JSON Schemas can be taught using the output of these resources as examples.
A first look at some common API specifications.
- OpenAPI Specification 3
- Swagger Hub
- Web Application Description Language (WADL)
A little bit fun.
Learning something new does NOT have to be painful.