DataPower API Gateway

GraphQL limitations

This page details the limitations in the API Connect GraphQL implementation for the current release.

  • Specialized handling of custom scalars is not supported, except for validation of the Long custom scalar type. Input values provided for all other custom scalar types are passed through.
  • The following actions and functions cannot read or write to parsed GraphQL queries. Some of these policies might read and write a serialized form of the GraphQL query.
    • Assembly GatewayScript policy
    • Assembly Map policy
    • Assembly Redaction policy
    • Assembly Set Variable policy
    • Assembly XSLT policy
    • setVar() function
  • When reading parsed GraphQL queries, the Assembly Switch policy cannot use wildcards or read arguments.
  • GraphQL schemas cannot be serialized.
  • GraphQL messages received with Content-Type: application/graphql or Content-Type: application/json will send that same content type to the backend. This behavior cannot be overridden.
  • All GraphQL schemas are checked for unbounded lists, including those that are not referenced in the assembly. This behavior can cause validation errors that prevent the GraphQL API from being published.
  • The GraphQL schema editor generates warnings for fields that contain unbound lists of values if either of the following conditions is true.
    • The values in the list are of composite type. However, the warning is not valid if the composite type in the list has a defined type weight of 0.0 and all its sub-fields also have weights of 0.0 (both the fields and the types of the values they return).
    • The values in the list are of scalar type, for which a weight other than 0.0 was defined.
  • Extending schemas is not supported.
  • GraphQL APIs can be tested from the Developer Portal user interface. However, not all authentication methods are supported. You must use one of the following authentication methods:
    • Unsecured
    • Client ID, passed in the header
    • Client ID and secret, passed in the header
    Also, cost metrics are not supported, and rate limits specific to GraphQL are not listed in Product plans.