Brightspot CMS Developer Guide

Custom Content Delivery API development


Overview of custom CDA development
For stable production functionality, it typically makes more sense to build a custom Content Delivery endpoint via code, rather than entirely through editorial configuration. An endpoint class can ensure that a fixed set of APIs are exposed with configuration that should not change between different environments.

Implementing custom CDAs

  1. Create a new Java class extending ContentDeliveryApiEndpoint.
  2. Implement required methods:

  • getPathSuffix—appended to /graphql/delivery/ to create the path where the API endpoint is available.
  • getQueryEntryFields—objects wrapping view model and interface classes used to generate the schema and expose APIs.


Example:

public class FooContentDeliveryApiEndpoint extends ContentDeliveryApiEndpoint {

    @Override
    protected String getPathSuffix() {
        return "foo"; // API endpoint is available at path '/graphql/delivery/foo'
    }

    @Override
    public List<ContentDeliveryEntryPointField> getQueryEntryFields() {
        return Arrays.asList(
               new ContentDeliveryEntryPointField(FooViewModel.class),
               new ContentDeliveryEntryPointField(BarViewModel.class));
    }
}

Previous Topic
CDA guides
Next Topic
Using Brightspot GraphQL Preview
Was this topic helpful?
Thanks for your feedback.