One of the downsides of being self-taught is that you're forever reinventing the wheel.
I'm working more and more on RESTful architectures and, as a result, need to define resources and how one can interact with them.
Are there any standard (and effective) design methods or templates that help enumerate the various HTTP verbs and potential responses for resources to help ensure that all of the permutations are covered?
Even something as basic as:
+----------------+---------------------------------------------+
| Resource Name: | |
+----------------+---------------------------------------------+
| HTTP METHODS |
+------------+-------------------------------------------------+
| Method | Supported |
+------------+-------------------------------------------------+
| GET | X |
| PUT | X |
| POST | |
| DELETE | |
+------------+-------------------------------------------------+
| RESPONSES |
+--------------------------------------------------------------+
| GET |
+--------------------------------------------------------------+
| Details of valid and necessary parameters for GETs and the |
| possible responses... |
| ... |
+--------------------------------------------------------------+
Sure... I could roll my own, but wondering if there are any broadly recognised methodologies out there that I could adopt.
Since I posted this, I have recently discovered a number of API designers. One of these (Mulesoft's Anypoint Platform) uses a language called RAML (RESTful API Modelling Language).
You might want to have a look at the Web Application Description Language. Some REST frameworks can even generate the description for you. I like Apache Jersey very much (if you can accept Java for implementation).
RestMS.org contains a standard for designing Restful APIs.
It shouldn't be treated as gospel, but you will learn a lot by reading through the single page RestTL (Restful Transport Layer) definition.
http://www.restms.org/spec:1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With