Skip to content

Partial responses #3

@nickevansuk

Description

@nickevansuk

Use Case

For mobile device usecases, a restricted number of fields returned enables the implementer to minimise data transfer.

References

Proposal

The fields keyword is reserved to allow for the restriction of properties returned in the response.

/sessions?fields=name,startDate,subEvent[1].startDate,subEvent[1].endDate

  • A list of properties to be included, using dot notation
  • Add limits to the number of items returned for properties where an array is available (note the limits are per-field, to allow the first item to contain more fields than subsequent items).
  • If an object is specified without specific fields (e.g. location.address) return the whole object.

Examples

/sessions?fields=name,activity,location.address,offers.name,offers.price,offers.priceCurrency

  "items": [
    {
      "name": "Example Leisure Centre Table Tennis",
      "activity": "Table Tennis",
      "location": {
        "address": {
          "type": "PostalAddress",
          "streetAddress": "1 High Street",
          "addressLocality": "Bristol",
          "postalCode": "BS1 4SD"
        }
      },
      "offers": [
        {
          "name": "30 minute hire",
          "price": "10",
          "priceCurrency": "GBP"
        },
        {
          "name": "60 minute hire",
          "price": "10",
          "priceCurrency": "GBP"
        }
      ]
   }
 ]

/sessions?fields=name,activity,location.address.postalCode,offers[1].price,offers[1].priceCurrency,offers[2].name

  "items": [
    {
      "name": "Example Leisure Centre Table Tennis",
      "activity": "Table Tennis",
      "location": {
        "address": {
          "postalCode": "BS1 4SD"
        }
      },
      "offers": [
        {
          "name": "30 minute hire",
          "price": "10",
          "priceCurrency": "GBP"
        },
        {
          "name": "60 minute hire"
        }
      ]
   }
 ]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions