Sindika.AspNet.RequestResponse
1.3.1
dotnet add package Sindika.AspNet.RequestResponse --version 1.3.1
NuGet\Install-Package Sindika.AspNet.RequestResponse -Version 1.3.1
<PackageReference Include="Sindika.AspNet.RequestResponse" Version="1.3.1" />
<PackageVersion Include="Sindika.AspNet.RequestResponse" Version="1.3.1" />
<PackageReference Include="Sindika.AspNet.RequestResponse" />
paket add Sindika.AspNet.RequestResponse --version 1.3.1
#r "nuget: Sindika.AspNet.RequestResponse, 1.3.1"
#:package Sindika.AspNet.RequestResponse@1.3.1
#addin nuget:?package=Sindika.AspNet.RequestResponse&version=1.3.1
#tool nuget:?package=Sindika.AspNet.RequestResponse&version=1.3.1
Sindika.AspNet Request-Response Library
This library provides a standard framework for creating and managing API request and response structures in .NET applications. It simplifies the development process by offering reusable components for handling common request/response patterns.
Features
- Standardized Requests:
- Supports custom headers, options, and data payloads.
- Includes base request models for general-purpose usage.
- Standardized Responses:
- Provides success and error responses with detailed metadata.
- Includes reusable models for error details, form validation errors, and more.
- Helper Utilities:
- Simplifies the creation of success and error responses.
Installation
Add the library to your project via NuGet:
dotnet add package Sindika.AspNet.RequestResponse
Usage
Request Models
BaseRequest
Encapsulates headers, data, and options for API requests.
var request = new BaseRequest<MyData>
{
Header = new HeaderRequest { Authorization = "Bearer my-token" },
Data = new MyData { /* Populate data */ },
Options = new OptionRequest
{
ShowError = true,
RollbackOnFailure = true,
ShowInfo = false
}
};
SingleUpsertRequest
Handles operations requiring key-value pairs for single upserts.
var upsertRequest = new SingleUpsertRequest<MyValue>
{
Key = new Dictionary<string, object> { { "Id", 123 } },
Value = new MyValue { /* Populate value */ }
};
Response Models
BaseResponse
Provides a consistent structure for all API responses.
var successResponse = new BaseResponse<MyData, object?>
{
Success = true,
Code = "SUC-001",
Message = "Operation succeeded.",
Data = new MyData { /* Populate data */ },
Info = new InfoResponse
{
TransactionId = Guid.NewGuid().ToString(),
Timestamp = DateTime.UtcNow.ToString("o"),
OperationType = "Create"
}
};
ErrorResponse
Represents error details for failed operations, including form and field-level errors.
var errorResponse = new ErrorResponse<object>
{
Data = null,
ErrorDetails = new ErrorDetailResponse
{
FormErrors = new List<FormErrorResponse>
{
new FormErrorResponse
{
Code = "ERR-FRM-001",
Message = "Invalid input",
Fields = new List<string> { "Name", "Email" }
}
}
}
};
Helper Methods
Use ResponseHelper to create responses with minimal code:
Success Response
var successResponse = ResponseHelper.Success(
data: new MyData { /* Populate data */ },
code: "SUC-002",
message: "Data retrieved successfully",
info: new InfoResponse { TransactionId = "12345" }
);
Error Response
var errorResponse = ResponseHelper.Error<MyData, object>(
data: null,
code: "ERR-001",
message: "Validation failed",
errors: new List<ErrorResponse<object>>
{
new ErrorResponse<object>
{
Data = null,
ErrorDetails = new ErrorDetailResponse
{
FieldErrors = new List<FieldErrorResponse>
{
new FieldErrorResponse
{
Field = "Name",
Code = "ERR-VAL-001",
Message = "Name is required"
}
}
}
}
}
);
Classes Overview
Requests
- BaseRequest<T>:
Encapsulates
HeaderRequest,OptionRequest, andDataof typeT. - HeaderRequest:
Contains request-specific headers like
Authorization. - OptionRequest:
Provides flags for request behavior, such as
ShowErrorandRollbackOnFailure. - SingleUpsertRequest<T>: Used for upsert operations requiring a key-value mapping.
Responses
- BaseResponse<T, Y>: General structure for API responses, including metadata, data, and errors.
- ErrorDetailResponse: Contains details about validation or operational errors.
- ErrorResponse<T>: Represents individual error data.
- FieldErrorResponse: Error details for specific fields in a request.
- FormErrorResponse: Form-level error details with associated fields.
- InfoResponse:
Metadata for successful operations, including
TransactionId,Timestamp, and more.
For detailed documentation, examples, and FAQs, visit our official documentation.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net9.0
- Sindika.AspNet.Validation (>= 1.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Sindika.AspNet.RequestResponse:
| Package | Downloads |
|---|---|
|
Sindika.AspNet.Common
Package Description |
|
|
Sindika.AspNet.QueryBuilder
The Sindika.AspNet QueryBuilder is a robust library designed to streamline the process of building dynamic queries for .NET applications. It is particularly focused on enabling flexible and efficient data filtering, sorting, and pagination for use with Entity Framework Core and other IQueryable providers |
GitHub repositories
This package is not used by any popular GitHub repositories.