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.