Uploaded image for project: 'Causeway'
  1. Causeway
  2. CAUSEWAY-1149

New ContentNegotiationService and ContentMappingService SPIs for Restful Objects viewer

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • core-1.8.0
    • 1.9.0
    • Core
    • None

    Description

      The ContentNegotiationService SPI allows multiple implementations to be installed, and each are checked in turn (chain of responsibility pattern). If any can generate a representation of the result then this is used rather than the default RepresentationService.

      The framework provides one default implementation: ContentNegotiationServiceXRoDomainType that handles "application/...;profile=...;x-ro-domain-type=..." for either XML or JSON, and for the main representations (object, property, collection, detail, action-result)

      As a further sub-SPI, the ContentMappingService is used by the afore-mentioned ContentNegotiationServiceXRoDomainType to attempt to map the result domain object to another object before rendering. Typically this is to map a domain object to a corresponding DTO.

      Attachments

        Activity

          Commit 1f02eec8a3cf909b94be42efb8437804799b49ce in isis's branch refs/heads/master from danhaywood
          [ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=1f02eec ]

          ISIS-1149: take-on of the ContentNegotiationService and ContentMappingService.

          jira-bot ASF subversion and git services added a comment - Commit 1f02eec8a3cf909b94be42efb8437804799b49ce in isis's branch refs/heads/master from danhaywood [ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=1f02eec ] ISIS-1149 : take-on of the ContentNegotiationService and ContentMappingService.

          1.9.0 has been released.

          danhaywood Daniel Keir Haywood added a comment - 1.9.0 has been released.

          People

            Unassigned Unassigned
            danhaywood Daniel Keir Haywood
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: