JsonChisel 1.0.2
dotnet add package JsonChisel --version 1.0.2
NuGet\Install-Package JsonChisel -Version 1.0.2
<PackageReference Include="JsonChisel" Version="1.0.2" />
<PackageVersion Include="JsonChisel" Version="1.0.2" />
<PackageReference Include="JsonChisel" />
paket add JsonChisel --version 1.0.2
#r "nuget: JsonChisel, 1.0.2"
#:package JsonChisel@1.0.2
#addin nuget:?package=JsonChisel&version=1.0.2
#tool nuget:?package=JsonChisel&version=1.0.2
JsonChisel
A .NET middleware for filtering JSON responses in minimal APIs.
JsonChisel allows you to selectively return only the requested fields from your API responses by specifying them in the request header. This is inspired by the field selection mechanism in GraphQL.
Key Features:
- Field Selection: Specify the desired fields to include in the response using a comma-separated list in the fields header (header name is configurable).
- Minimal API Compatibility: Seamlessly integrates with .NET minimal APIs.
- Easy to Use: Simple middleware registration and usage.
- Customizable: Configure the fields header name and other options.
Installation
Install the JsonChisel NuGet package:
Install-Package JsonChisel
Usage
Register the middleware in Program.cs:
Фрагмент кода
var app = builder.Build();
app.UseMiddleware<JsonChiselMiddleware>();
//or
//app.UseJsonChisel();
// ... rest of your app configuration
Send requests with the fields header:
GET /api/data
Host: localhost:5000
fields: id,name,address
Example
Response without fields header:
{
"id": 1,
"name": "John Doe",
"address": {
"street": "123 Main St",
"city": "Anytown"
},
"email": "john.doe@example.com"
}
Response with fields header:
{
"id": 1,
"name": "John Doe",
"address": {
"street": "123 Main St",
"city": "Anytown"
}
}
Contributing
Contributions are welcome! Please submit pull requests to the official repository: [https://github.com/dejandjenic/JsonChisel]
License
This project is licensed under the MIT license.
Disclaimer:
This middleware is intended for demonstration and educational purposes. It's recommended to carefully evaluate its suitability and security implications for your specific use case.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.