NeoReports.AspNetCore
2.0.0
dotnet add package NeoReports.AspNetCore --version 2.0.0
NuGet\Install-Package NeoReports.AspNetCore -Version 2.0.0
<PackageReference Include="NeoReports.AspNetCore" Version="2.0.0" />
<PackageVersion Include="NeoReports.AspNetCore" Version="2.0.0" />
<PackageReference Include="NeoReports.AspNetCore" />
paket add NeoReports.AspNetCore --version 2.0.0
#r "nuget: NeoReports.AspNetCore, 2.0.0"
#:package NeoReports.AspNetCore@2.0.0
#addin nuget:?package=NeoReports.AspNetCore&version=2.0.0
#tool nuget:?package=NeoReports.AspNetCore&version=2.0.0
NeoReports.AspNetCore
ASP.NET Core endpoints to trigger and manage NeoReports reports and jobs, via Minimal API.
Endpoints
MapNeoReports("/api") maps:
| Method | Route | Description |
|---|---|---|
| POST | /reports/{name}/run |
async → 202 { jobId } |
| POST | /reports/{name}/run?mode=sync |
stream a single output (multi-output → 400) |
| GET | /reports |
list registered reports |
| GET | /reports/{name} |
full report definition — columns, formats, destinations, retry/failure strategy, origin (code/config) |
| POST | /reports |
register a report at runtime from a config document → 201 (409 if the name exists, 400 if the config is invalid) |
| POST | /reports/validate |
dry-run compile a config document → 200 { valid, error, name, columns, nameTaken }; never registers or persists |
| DELETE | /reports/{name} |
remove a runtime-registered report → 204 (409 for a code-registered report, 404 if unknown) |
| GET | /capabilities |
source/format/destination type ids the host has registered |
| GET | /jobs |
list jobs, filterable by status/report/since, paged (limit ≤ 200, offset) |
| GET | /jobs/{id} |
job status + stats |
| POST | /jobs/{id}/cancel |
request cooperative cancellation |
| GET | /jobs/{id}/download |
download the result (multi-output → zip) |
| GET | /jobs/{id}/artifacts |
finished output files (name/mime/size, never the on-disk path); [] if not completed |
The POST /reports, POST /reports/validate, and DELETE /reports/{name} endpoints require
NeoReports.Core's AddDynamicReports() to be called (registers IReportConfigStore — see that
package's README); without it, those three routes fail DI resolution the same way any endpoint
does when a required service is missing.
Usage
using NeoReports.AspNetCore;
using NeoReports.AspNetCore.DependencyInjection;
using NeoReports.Core.DependencyInjection;
builder.Services.AddNeoReportsArtifacts(); // retain output files for download/sync
builder.Services.AddDynamicReports(); // optional: enables the runtime report endpoints above
var app = builder.Build();
app.MapNeoReports("/api");
Authorization inherits from the host; pass options to apply RequireAuthorization to the group.
License
MIT © NeoReports Contributors
| 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 is compatible. 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
- NeoReports.Abstractions (>= 2.0.0)
- NeoReports.Core (>= 2.0.0)
-
net9.0
- NeoReports.Abstractions (>= 2.0.0)
- NeoReports.Core (>= 2.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.