As a user I would like to have one HTTP resource tell me which RESTful services are currently available in DDF.


It is currently a little less than clear as to which RESTful endpoints are available in a running deployment of DDF and what payload/parameters/headers they accept (and produce). As a developer I would like to have a single point of reference (in an HTTP sense) of available RESTful endpoints so I can test/extend/develop/use them in a deployed instance of DDF.

Create an API gateway for simple, one-stop listing of all available RESTful APIs available in the running environment. The gateway will allow bundles to register their RESTful services. When queried, basic HTTP /GET, it will provide a listing of currently-running bundles along with their URIs. The bundles should expose HTTP /GET resources listing available RESTful endpoints along with their accepted headers/parameters/payloads and sample output.

In practice this should be as simple as implementing an interface for the RESTful bundles which (on HTTP /GET) returns the API of it’s “home” bundle along with accept/produce headers/parameters/payload, etc.

While this will not really make it an actual API gateway in ( <-- this sense it could certainly be a place to start.

We could also use software like Swagger which allows us to define a "swagger definition" and then we can export that definition to various viewing types such as HTML. An example swagger definition and export type is attached.






Leo Sakhvoruk