Uploaded image for project: 'OFBiz'
  1. OFBiz
  2. OFBIZ-11007

REST: adding segmented URI support

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Minor
    • Resolution: Implemented
    • Trunk
    • None
    • framework
    • Patch

    Description

      Following the discussion on making OFBiz RESTful OFBIZ-4274 i implemented the support of segmented URIs without interfering with current mechanisms of URI resolution nor with overrideView() feature.

      Combined with work on associating URIs and HTTP methods done by mthl in OFBIZ-10438 , we are now able to provide RESTful APIs as follows:

      <request-map uri="foo/bar" method="get">
      ...
      <request-map uri="foo/bar/{baz}" method="get">
      ...
      <request-map uri="foo/bar/{baz}" method="post">
      ...
      

      After we matched a request-map having parametrized URI as in

      uri="foo/bar/{baz}"
      

      the value is available inside the request attributes with the corresponding key (here "baz")

      The restful_URIs.patch allows segmented URI support.
      The entitymaint_example.patch is a modified entitymaint part that serves as an example of possible application of new system.

      Any questions or comments are welcomed.

      Attachments

        1. entitymaint_example.patch
          19 kB
          Artemiy Rozovyk
        2. OFBIZ-11007_refactor-entitymaint.patch
          28 kB
          Nicolas Malin
        3. OFBIZ-11007_refactor-entitymaint.patch
          22 kB
          Nicolas Malin
        4. OFBIZ-11007_refactor-entitymaint.patch
          19 kB
          Mathieu Lirzin
        5. restful_URIs.patch
          10 kB
          Artemiy Rozovyk

        Issue Links

          Activity

            People

              nmalin Nicolas Malin
              artemiy Artemiy Rozovyk
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: