-
Enhancement
-
Resolution: Done
-
Major
-
None
-
None
As a first bid to supporting documentation and testing of Services within the API Manager, we should allow the storing of a Service Definition with a service version.
A Service Definition is a document that describes all of the supported resources contained within a service endpoint. For example, if the endpoint being managed by apiman is this:
http://example.org/rest/calculator
Then the service definition might describe the following resources:
/add
/multiply
/derive
/integrate
These are the specific resources within the endpoint. The service definition would also include descriptions of the payloads and response codes and whatnot for each resource.
apiman will want to support multiple service definition types in the long term, so we should treat the service definition as an opaque blob of data which can be managed as a single entity.
The following new API Manager REST endpoint should be added:
{organizationId}/services/{serviceId}/versions/{version}/definition
This endpoint should support GET, POST, PUT (get, create, update).
Additionally, we need to add a new field on the ServiceVersionBean, UpdateServiceVersionBean, and NewServiceVersionBean classes called "definitionType". This new field should be of type "ServiceDefinitionType" which is a new java enum with the following options:
swagger, wadl, other
In the future we will likely support other types (e.g. WSDL?) but these should suffice for now.
- is duplicated by
-
APIMAN-307 Allow user to specify a swagger spec for describing their APIS
- Closed