Table of Contents

Namespace JsonApiDotNetCore.Resources

Classes

IdentifiableComparer

Compares IIdentifiable instances with each other based on their type and StringId, falling back to LocalId when both StringIds are null.

Identifiable<TId>

A convenient basic implementation of IIdentifiable<TId> that provides conversion between typed Id and StringId.

JsonApiResourceDefinition<TResource, TId>

Provides an extensibility point to add business logic that is resource-oriented instead of endpoint-oriented.

JsonApiResourceDefinition<TResource, TId>.PropertySortOrder

This is an alias type intended to simplify the implementation's method signature. See CreateSortExpressionFromLambda(PropertySortOrder) for usage details.

OperationContainer

Represents a write operation on a JSON:API resource.

QueryStringParameterHandlers<TResource>

This is an alias type intended to simplify the implementation's method signature. See OnRegisterQueryableHandlersForQueryStringParameters() for usage details.

ResourceChangeTracker<TResource>

Used to determine whether additional changes to a resource (side effects), not specified in a POST or PATCH request, have been applied.

ResourceDefinitionAccessor

Retrieves an IResourceDefinition<TResource, TId> instance from the D/I container and invokes a callback on it.

RuntimeTypeConverter

Provides utilities regarding runtime types.

TargetedFields

Container to register which resource fields (attributes and relationships) are targeted by a request.

Interfaces

IIdentifiable

Defines the basic contract for a JSON:API resource. All resource classes must implement IIdentifiable<TId>.

IIdentifiable<TId>

When implemented by a class, indicates to JsonApiDotNetCore that the class represents a JSON:API resource.

IResourceChangeTracker<TResource>

Used to determine whether additional changes to a resource (side effects), not specified in a POST or PATCH request, have been applied.

IResourceDefinitionAccessor

Retrieves an IResourceDefinition<TResource, TId> instance from the D/I container and invokes a callback on it.

IResourceDefinition<TResource, TId>

Provides an extensibility point to add business logic that is resource-oriented instead of endpoint-oriented.

IResourceFactory

Creates object instances for resource classes, which may have injectable dependencies.

ITargetedFields

Container to register which resource fields (attributes and relationships) are targeted by a request.