[arin-tech-discuss] REST API comments
Peter Deacon
peterd at iea-software.com
Tue Mar 15 16:14:43 EDT 2011
Thoughts on https://www.arin.net/resources/restful-interfaces.html
There are still some problems with middleware and firewalls that just will
not accept unusual verbs (PUT,DELETE..etc)
Please consider including method overrides for PUT/DELETE in the
documentation such as sending a variable named "method" with the requests
or including a header... X-HTTP-Method-Override to work around these
problems.
The practice of collapsing API application response into http status codes
is also popular but sadly has potential to cause problems if one is not
very careful.
Layered responses from both HTTP and the HTTP application provide the
application with much better feedback than an HTTP layer response alone.
For example if I mess up my local URL configuration or later introduce a
firewall or proxy change my application may end up with a 404 from
something else (Not ARIN) entirely. The application may then be confused
into thinking the 404 response was actually from Arin...possibly further
using this feedback to make incorrect assumptions about the state of
records being managed.
Likewise on your side if your server or middleware has a problem is it
possible for the status codes of the server or intermediate layers to ever
overlap with the application and cause the same confusion?
If instead the application were to always depend on an application layer
status the disambiguity and potential for problems is reduced.
Here recommend always sending ErrorPayload not just for generic status and
recommend in documentation the application check for ErrorPayload
preferably taking no internal action against an error response if
ErrorPayload is not present.
~P
More information about the arin-tech-discuss
mailing list