Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-8535

Rest API redesign

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Done
    • Icon: Major Major
    • 10.0.0.Final
    • 9.2.0.Final
    • Server
    • None
    • Sprint 10.0.0.Alpha1, Sprint 10.0.0.Alpha2, Sprint 10.0.0.Beta1, DataGrid Sprint #30, DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37, DataGrid Sprint #38

      Infinispan REST API deals with only one resource, (the cache) and maps all operations on the cache using HTTP verbs and request parameters. The API assumes the URI is related to the cache making it hard to add new kinds of resources without causing ambiguous references.

      Since we now have other types of entities, such as counters, scripts, templates, etc, and each one of them can involve different operations, we should make the API more "Restful" by using more than one resource and collections of resources, plus HTTP verbs and operations on them. Examples:

      • Create a cache: POST /rest/caches
      • Delete a cache: DELETE /rest/caches/myCache
      • Create a template: POST /rest/templates
      • Delete a template: DELETE /rest/templates/myTemplate
      • Create an entry: POST /rest/caches/myCache/1
      • Create a counter: POST /rest/counters
      • Get a counter value: GET /rest/counters/mycounter
      • Increment a counter: GET /rest/counters/mycounter?action=increment
      • Search a cache: GET /rest/caches/myCache?action=search
      • Create a script: POST /rest/scripts/
      • Get a script source: GET /rest/scritps/myScript
      • Execute a script: GET /rest/scripts/myScript?action=execute&param1=foo
      • Stop individual servers and the full cluster

            gfernand@redhat.com Gustavo Fernandes (Inactive)
            gfernand@redhat.com Gustavo Fernandes (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: