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

Registers routes based on the JSON:API resource name, which defaults to camel-case pluralized form of the resource CLR type name. If unavailable (for example, when a controller directly inherits from CoreJsonApiController), the serializer naming convention is applied on the controller type name (camel-case by default).

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.

IJsonApiEndpointFilter

Enables to remove JSON:API controller action methods at startup. For atomic:operation requests, see IAtomicOperationFilter.

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.