Skip to content

Commit 5c85ab8

Browse files
fix(packaging): add icon and nuget-specific readme
1 parent 24f877b commit 5c85ab8

3 files changed

Lines changed: 53 additions & 2 deletions

File tree

JsonApiToolkit/JsonApiToolkit.csproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,18 @@
66

77
<!-- Package metadata -->
88
<PackageId>Intility.JsonApiToolkit</PackageId>
9+
<Title>JsonApiToolkit</Title>
910
<Version>2.1.2</Version>
1011
<Authors>Intility</Authors>
1112
<Company>Intility</Company>
13+
<Copyright>Copyright (c) Intility</Copyright>
1214
<Description>Build JSON:API endpoints in ASP.NET Core. Translates JSON:API query parameters (filter, sort, include, fields, page) into typed EF Core queries and returns spec-compliant response documents.</Description>
1315
<PackageTags>jsonapi;json-api;aspnetcore;efcore;rest;api;dotnet</PackageTags>
1416
<RepositoryUrl>https://github.com/intility/json-api-toolkit</RepositoryUrl>
1517
<RepositoryType>git</RepositoryType>
1618
<PackageProjectUrl>https://github.com/intility/json-api-toolkit</PackageProjectUrl>
17-
<PackageReadmeFile>README.md</PackageReadmeFile>
19+
<PackageIcon>intility-logo.png</PackageIcon>
20+
<PackageReadmeFile>README.nuget.md</PackageReadmeFile>
1821
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1922

2023
<!-- Generate XML documentation -->
@@ -30,6 +33,7 @@
3033
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="10.0.7"/>
3134
</ItemGroup>
3235
<ItemGroup>
33-
<None Include="..\README.md" Pack="true" PackagePath="\"/>
36+
<None Include="..\README.nuget.md" Pack="true" PackagePath="\" />
37+
<None Include="..\assets\intility-logo.png" Pack="true" Visible="false" PackagePath="\" />
3438
</ItemGroup>
3539
</Project>

README.nuget.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# JsonApiToolkit
2+
3+
Build [JSON:API](https://jsonapi.org/) 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.
4+
5+
## Install
6+
7+
```sh
8+
dotnet add package Intility.JsonApiToolkit
9+
```
10+
11+
## Quick example
12+
13+
Register in `Program.cs`:
14+
15+
```csharp
16+
builder.Services.AddJsonApiToolkit();
17+
```
18+
19+
Derive controllers from `JsonApiController`:
20+
21+
```csharp
22+
public class BooksController : JsonApiController
23+
{
24+
private const string ResourceType = "book";
25+
26+
[HttpGet]
27+
public async Task<IActionResult> GetAllAsync()
28+
{
29+
return await JsonApiQueryAsync(_db.Books, ResourceType);
30+
}
31+
}
32+
```
33+
34+
Then call with JSON:API query parameters:
35+
36+
```
37+
GET /api/books?filter[title]=Hobbit&include=author&fields[book]=title&page[size]=10&sort=-published
38+
```
39+
40+
Filtering, sorting, includes, sparse fieldsets, and pagination all work without extra code.
41+
42+
## Links
43+
44+
- **Documentation**: <https://intility.github.io/json-api-toolkit/>
45+
- **Source**: <https://github.com/intility/json-api-toolkit>
46+
- **Issues**: <https://github.com/intility/json-api-toolkit/issues>
47+
- **License**: MIT

assets/intility-logo.png

1.88 KB
Loading

0 commit comments

Comments
 (0)