Uploaded image for project: 'apiman (API Management)'
  1. apiman (API Management)
  2. APIMAN-277

Support Service "definition" in the API Manager REST layer

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Done
    • Icon: Major Major
    • 1.0.x, 1.0.3.Final
    • None
    • Management API
    • 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.

              ewittman@redhat.com Eric Wittmann
              ewittman@redhat.com Eric Wittmann
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: