Rystem.RepositoryFramework.Api.Client
10.0.4
dotnet add package Rystem.RepositoryFramework.Api.Client --version 10.0.4
NuGet\Install-Package Rystem.RepositoryFramework.Api.Client -Version 10.0.4
<PackageReference Include="Rystem.RepositoryFramework.Api.Client" Version="10.0.4" />
<PackageVersion Include="Rystem.RepositoryFramework.Api.Client" Version="10.0.4" />
<PackageReference Include="Rystem.RepositoryFramework.Api.Client" />
paket add Rystem.RepositoryFramework.Api.Client --version 10.0.4
#r "nuget: Rystem.RepositoryFramework.Api.Client, 10.0.4"
#:package Rystem.RepositoryFramework.Api.Client@10.0.4
#addin nuget:?package=Rystem.RepositoryFramework.Api.Client&version=10.0.4
#tool nuget:?package=Rystem.RepositoryFramework.Api.Client&version=10.0.4
What is Rystem?
Services extensions
HttpClient to use your API (example)
You can add a client for a specific url
builder.Services.AddRepository<User, string>(builder =>
{
builder
.WithApiClient()
.WithHttpClient("localhost:7058");
});
You may add a Polly policy to your api client for example:
var retryPolicy = HttpPolicyExtensions
.HandleTransientHttpError()
.Or<TimeoutRejectedException>()
.RetryAsync(3);
builder.Services.AddRepository<User, string>(builder =>
{
builder
.WithApiClient()
.WithHttpClient("localhost:7058")
.ClientBuilder
.AddPolicyHandler(retryPolicy);
});
and use it in DI with
IRepository<User, string> repository
Query and Command
In DI you install the services
services.AddCommand<User, string>(builder => {
builder
.WithApiClient()
.WithHttpClient("localhost:7058");
});
services.AddQuery<User, string>(builder => {
builder
.WithApiClient()
.WithHttpClient("localhost:7058");
});
And you may inject the objects
Please, use ICommand, IQuery and not ICommandPattern, IQueryPattern
ICommand<User, string> command
IQuery<User, string> command
With a non default key
In DI you install the services with a bool key for example.
services.AddRepository<User, bool>(builder => {
builder
.WithApiClient()
.WithHttpClient("localhost:7058");
});
services.AddCommand<User, bool>(builder => {
builder
.WithApiClient()
.WithHttpClient("localhost:7058");
});
services.AddQuery<User, bool>(builder => {
builder
.WithApiClient()
.WithHttpClient("localhost:7058");
});
And you may inject the objects
Please, use ICommand, IQuery, IRepository and not ICommandPattern, IQueryPattern, IRepositoryPattern
IRepository<User, string> repository
ICommand<User, string> command
IQuery<User, string> command
Interceptors
You may add a custom interceptor for every request for every model
public static IServiceCollection AddApiClientInterceptor<TInterceptor>(this IServiceCollection services,
ServiceLifetime serviceLifetime = ServiceLifetime.Scoped)
where TInterceptor : class, IRepositoryClientInterceptor
or a specific interceptor for each model
public static IServiceCollection AddApiClientInterceptor<TInterceptor>(this IServiceCollection services,
ServiceLifetime serviceLifetime = ServiceLifetime.Scoped)
where TInterceptor : class, IRepositoryClientInterceptor
or for a string as default TKey
public static RepositorySettings<T, TKey> AddApiClientSpecificInterceptor<T, TKey, TInterceptor>(
this RepositorySettings<T, TKey> settings,
ServiceLifetime serviceLifetime = ServiceLifetime.Scoped)
where TInterceptor : class, IRepositoryClientInterceptor<T>
where TKey : notnull
Maybe you can use it to add a token as JWT o another pre-request things.
Default interceptor for Authentication with JWT
You may use the default interceptor to deal with the identity manager in .Net DI.
builder.Services.AddDefaultAuthorizationInterceptorForApiHttpClient();
with package
RepositoryFramework.Api.Client.Authentication.BlazorServer
or if you need to use in Wasm blazor use with
Rystem.RepositoryFramework.Api.Client.Authentication.BlazorWasm
| 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
- Microsoft.Extensions.Http (>= 10.0.2)
- Microsoft.Extensions.Http.Polly (>= 10.0.2)
- Polly (>= 8.6.5)
- Rystem.RepositoryFramework.Abstractions (>= 10.0.4)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Rystem.RepositoryFramework.Api.Client:
| Package | Downloads |
|---|---|
|
Rystem.RepositoryFramework.Api.Client.Authentication.BlazorServer
Rystem.RepositoryFramework allows you to use correctly concepts like repository pattern, CQRS and DDD. You have interfaces for your domains, auto-generated api, auto-generated HttpClient to simplify connection "api to front-end", a functionality for auto-population in memory of your models, a functionality to simulate exceptions and waiting time from external sources to improve your implementation/business test and load test. |
|
|
Rystem.RepositoryFramework.Api.Client.Authentication.BlazorWasm
Rystem.RepositoryFramework allows you to use correctly concepts like repository pattern, CQRS and DDD. You have interfaces for your domains, auto-generated api, auto-generated HttpClient to simplify connection "api to front-end", a functionality for auto-population in memory of your models, a functionality to simulate exceptions and waiting time from external sources to improve your implementation/business test and load test. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.4 | 109 | 2/9/2026 |
| 10.0.3 | 35,617 | 1/28/2026 |
| 10.0.1 | 209,133 | 11/12/2025 |
| 9.1.3 | 358 | 9/2/2025 |
| 9.1.2 | 764,612 | 5/29/2025 |
| 9.1.1 | 97,888 | 5/2/2025 |
| 9.0.32 | 186,680 | 4/15/2025 |
| 9.0.31 | 5,907 | 4/2/2025 |
| 9.0.30 | 88,881 | 3/26/2025 |
| 9.0.29 | 9,086 | 3/18/2025 |
| 9.0.28 | 279 | 3/17/2025 |
| 9.0.27 | 270 | 3/16/2025 |
| 9.0.26 | 307 | 3/13/2025 |
| 9.0.25 | 52,161 | 3/9/2025 |
| 9.0.21 | 419 | 3/6/2025 |
| 9.0.20 | 19,649 | 3/6/2025 |
| 9.0.19 | 340 | 3/6/2025 |
| 9.0.18 | 371 | 3/4/2025 |
| 9.0.17 | 246 | 3/1/2025 |
| 9.0.16 | 248 | 3/1/2025 |