DevInstance.WebServiceToolkit.Common
10.0.1
dotnet add package DevInstance.WebServiceToolkit.Common --version 10.0.1
NuGet\Install-Package DevInstance.WebServiceToolkit.Common -Version 10.0.1
<PackageReference Include="DevInstance.WebServiceToolkit.Common" Version="10.0.1" />
<PackageVersion Include="DevInstance.WebServiceToolkit.Common" Version="10.0.1" />
<PackageReference Include="DevInstance.WebServiceToolkit.Common" />
paket add DevInstance.WebServiceToolkit.Common --version 10.0.1
#r "nuget: DevInstance.WebServiceToolkit.Common, 10.0.1"
#:package DevInstance.WebServiceToolkit.Common@10.0.1
#addin nuget:?package=DevInstance.WebServiceToolkit.Common&version=10.0.1
#tool nuget:?package=DevInstance.WebServiceToolkit.Common&version=10.0.1
DevInstance.WebServiceToolkit.Common
Common models and attributes for WebServiceToolkit with no ASP.NET Core dependency.
Installation
dotnet add package DevInstance.WebServiceToolkit.Common
Features
This package provides:
- Model classes for API responses (
ModelItem,ModelList<T>) - Query model attributes for parameter binding (
[QueryModel],[QueryName]) - Utility methods for creating model responses
API Reference
ModelItem
Base class for entities with a server-assigned unique identifier.
public class Product : ModelItem
{
public string Name { get; set; }
public decimal Price { get; set; }
}
// The Id property is inherited from ModelItem
var product = new Product { Id = "abc123", Name = "Widget", Price = 9.99m };
ModelList<T>
Paginated response wrapper with sorting and search metadata.
var response = new ModelList<Product>
{
Items = products.ToArray(),
TotalCount = 150,
PagesCount = 8,
Page = 0,
Count = 20,
SortBy = "Name",
IsAsc = true,
Search = "widget"
};
Properties:
| Property | Type | Description |
|---|---|---|
Items |
T[] |
Array of items for the current page |
TotalCount |
int |
Total items across all pages |
PagesCount |
int |
Total number of pages |
Page |
int |
Current page index (zero-based) |
Count |
int |
Number of items in current page |
SortBy |
string |
Column name used for sorting |
IsAsc |
bool |
True if ascending sort order |
Search |
string |
Applied search query |
ModelListResult
Utility class for creating ModelList<T> instances.
// Create a single-item list response
var product = await _repository.GetByIdAsync(id);
return ModelListResult.SingleItemList(product);
QueryModelAttribute
Marks a class for automatic query string parameter binding.
[QueryModel]
public class ProductQuery
{
public int Page { get; set; }
public int PageSize { get; set; }
public string? Search { get; set; }
public ProductCategory? Category { get; set; }
}
Supported types:
- Primitives:
string,bool,int,long,decimal,double - Date/time:
DateTime,DateOnly,TimeOnly - Other:
Guid, enums - Nullable versions of all above
- Arrays and
IEnumerable<T>(comma-separated values)
QueryNameAttribute
Overrides the query parameter name for a property.
[QueryModel]
public class SearchQuery
{
[QueryName("q")]
public string SearchText { get; set; }
[QueryName("page_size")]
public int PageSize { get; set; }
}
// Maps from: ?q=hello&page_size=20
Usage with ASP.NET Core
To use query model binding with ASP.NET Core, install the main package:
dotnet add package DevInstance.WebServiceToolkit
Then register the query model binder:
builder.Services.AddControllers()
.AddWebServiceToolkitQuery();
See Also
- DevInstance.WebServiceToolkit - Main package with ASP.NET Core integration
- DevInstance.WebServiceToolkit.Database - Database query interfaces
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on DevInstance.WebServiceToolkit.Common:
| Package | Downloads |
|---|---|
|
DevInstance.BlazorToolkit
BlazorToolkit is a comprehensive set of tools designed to enhance the development of Blazor applications. It provides a suite of utilities and services that streamline common tasks, allowing developers to focus on building rich, interactive web applications. |
|
|
DevInstance.WebServiceToolkit
ASP.NET Core utilities for web service development including query model binding, exception handling, and service registration. |
GitHub repositories
This package is not used by any popular GitHub repositories.