Table of Contents

Namespace JsonApiDotNetCore.Middleware

Classes

AsyncConvertEmptyActionResultFilter

Converts action result without parameters into action result with null parameter.

return NotFound() -> return NotFound(null)
This ensures our formatter is invoked, where we'll build a JSON:API compliant response. For details, see: https://github.com/dotnet/aspnetcore/issues/16969

AsyncJsonApiExceptionFilter

Application-wide exception filter that invokes IExceptionHandler for JSON:API requests.

AsyncQueryStringActionFilter

Application-wide entry point for processing JSON:API request query strings.

ExceptionHandler

Central place to handle all exceptions, such as log them and translate into error response.

HeaderConstants
HttpContextExtensions
JsonApiContentNegotiator

Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

JsonApiInputFormatter

Application-wide entry point for reading JSON:API request bodies.

JsonApiMediaType

Represents the JSON:API media type (application/vnd.api+json) with an optional set of extensions.

JsonApiMediaTypeExtension

Represents a JSON:API extension (in unescaped format), which occurs as an "ext" parameter inside an HTTP Accept or Content-Type header.

JsonApiMiddleware

Intercepts HTTP requests to populate injected IJsonApiRequest instance for JSON:API requests.

JsonApiOutputFormatter

Application-wide entry point for writing JSON:API response bodies.

JsonApiRequest

Metadata associated with the JSON:API request that is currently being processed.

JsonApiRoutingConvention

The default routing convention registers the name of the resource as the route using the serializer naming convention. The default for this is a camel case formatter. If the controller directly inherits from CoreJsonApiController and there is no resource directly associated, it uses the name of the controller instead of the name of the type.

Interfaces

IAsyncConvertEmptyActionResultFilter

Converts action result without parameters into action result with null parameter.

return NotFound() -> return NotFound(null)
This ensures our formatter is invoked, where we'll build a JSON:API compliant response. For details, see: https://github.com/dotnet/aspnetcore/issues/16969

IAsyncJsonApiExceptionFilter

Application-wide exception filter that invokes IExceptionHandler for JSON:API requests.

IAsyncQueryStringActionFilter

Application-wide entry point for processing JSON:API request query strings.

IControllerResourceMapping

Registry of which resource type is associated with which controller.

IExceptionHandler

Central place to handle all exceptions, such as log them and translate into error response.

IJsonApiContentNegotiator

Performs content negotiation for JSON:API requests.

IJsonApiInputFormatter

Application-wide entry point for reading JSON:API request bodies.

IJsonApiOutputFormatter

Application-wide entry point for writing JSON:API response bodies.

IJsonApiRequest

Metadata associated with the JSON:API request that is currently being processed.

IJsonApiRoutingConvention

Service for specifying which routing convention to use. This can be overridden to customize the relation between controllers and mapped routes.

Enums

EndpointKind
WriteOperationKind

Lists the functional write operations, originating from a POST/PATCH/DELETE request against a single resource/relationship or a POST request against a list of operations.