Skip to content

Latest commit

 

History

History
47 lines (33 loc) · 1.2 KB

File metadata and controls

47 lines (33 loc) · 1.2 KB

JsonApiToolkit

Build JSON:API endpoints in ASP.NET Core. Translates JSON:API query parameters (filter[], sort, include, fields[], page[]) into typed EF Core queries and shapes responses as spec-compliant documents, so your controllers stay short.

Install

dotnet add package Intility.JsonApiToolkit

Quick example

Register in Program.cs:

builder.Services.AddJsonApiToolkit();

Derive controllers from JsonApiController:

public class BooksController : JsonApiController
{
    private const string ResourceType = "book";

    [HttpGet]
    public async Task<IActionResult> GetAllAsync()
    {
        return await JsonApiQueryAsync(_db.Books, ResourceType);
    }
}

Then call with JSON:API query parameters:

GET /api/books?filter[title]=Hobbit&include=author&fields[book]=title&page[size]=10&sort=-published

Filtering, sorting, includes, sparse fieldsets, and pagination all work without extra code.

Links