Demands 3.3.5
Demands — .NET клиент для API
Библиотека Demands предоставляет типизированный клиент для взаимодействия с API Demands.
Целевая платформа — .NET Standard 2.0, что обеспечивает совместимость с .NET Framework 4.6.1+ и .NET Core 2.0+.
Установка
dotnet add package Demands
Или через Package Manager Console:
Install-Package Demands
Текущая версия пакета: 3.3.3.
Быстрый старт
Вариант 1 — прямое создание клиента
Используйте статический метод DemandsApi.Build, если вы не используете DI-контейнер
(например, в консольных приложениях или скриптах):
using Demands;
using Demands.Contracts;
IDemandsApiClient client = DemandsApi.Build(options =>
{
options.ConnectToHost("https://demands.example.com/");
options.SetApplication("MyApp");
options.SetAuthToken("my-auth-token");
});
IDemandsApiContext context = client.GetContext();
var profiles = await context.Profiles.GetProfiles();
Вариант 2 — регистрация через DI (ASP.NET Core / Generic Host)
Рекомендуемый способ для серверных приложений. Метод расширения AddDemandsApi
регистрирует IDemandsApiClient и все зависимости в IServiceCollection:
using Demands.Common.Extensions;
services.AddDemandsApi(options =>
{
options.ConnectToHost("https://demands.example.com/");
options.SetApplication("MyApp");
options.SetAuthToken("my-auth-token");
});
После регистрации IDemandsApiClient доступен через конструктор:
public class MyService
{
private readonly IDemandsApiClient _client;
public MyService(IDemandsApiClient client)
{
_client = client;
}
public async Task DoWork()
{
var context = _client.GetContext();
var profiles = await context.Profiles.GetProfiles();
context.SetProfile(profiles.First());
var docs = await context.Documents.Search(new DocumentSearchOptionsApiDTO
{
ListType = DocumentListType.My
});
}
}
Обязательные параметры
Для работы клиента необходимо указать минимум три параметра:
| Параметр | Метод билдера | Описание |
|---|---|---|
| Адрес сервера | ConnectToHost(url) |
Базовый URL сервера Demands API |
| Приложение | SetApplication(name) |
Имя приложения-потребителя (передаётся в заголовке X-ApplicationName) |
| Токен | SetAuthToken(token) |
Bearer-токен для авторизации запросов |
Конфигурация
Все параметры задаются через DemandsApiOptionsBuilder:
| Метод | Описание |
|---|---|
ConnectToHost(url) |
Указать адрес сервера API |
ConnectToButler(url) |
Указать адрес сервера Butler |
ConnectToLocalhost(port) |
Подключение к https://localhost:{port}/ |
SetApplication(name) |
Имя приложения-потребителя |
SetAuthToken(token) |
Токен аутентификации (Bearer) |
UseHttpClient() |
Использовать HttpClient с cookies (Desktop-сценарий) |
UseAlternativeHttpClient(timeout) |
Альтернативный HttpClient с указанным таймаутом |
Документация
- Использование — подробное руководство по настройке и использованию
- Справочник API — описание интерфейсов, DTO и перечислений
- Примеры — типовые сценарии использования
- Устранение неполадок — решение частых проблем
Лицензия
Проприетарная лицензия. Подробности уточняйте у владельца репозитория.
Showing the top 20 packages that depend on Demands.
| Packages | Downloads |
|---|---|
|
Demands.Ussc
Package Description
|
41 |
|
Demands.Ussc
Package Description
|
40 |
|
Demands.Ussc
Package Description
|
36 |
|
Demands.Novator
Package Description
|
31 |
|
Demands.Ussc
Package Description
|
29 |
|
Demands.Ussc
Package Description
|
19 |
.NET Standard 2.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Http (>= 8.0.0)
- Newtonsoft.Json (>= 13.0.3)
| Version | Downloads | Last updated |
|---|---|---|
| 3.3.7 | 11 | 03/13/2026 |
| 3.3.6 | 5 | 03/03/2026 |
| 3.3.5 | 4 | 02/19/2026 |
| 3.3.4 | 6 | 02/17/2026 |
| 3.3.3 | 26 | 01/13/2026 |
| 3.3.3-preview4068-01 | 6 | 01/13/2026 |
| 3.3.3-pre-doc4068-02 | 7 | 01/13/2026 |
| 3.3.3-pre-doc4068-01 | 6 | 01/13/2026 |
| 3.3.2 | 67 | 10/30/2025 |
| 3.2.0 | 26 | 05/09/2025 |
| 3.1.0 | 20 | 05/09/2025 |
| 3.0.1 | 20 | 05/09/2025 |
| 3.0.1-pre2 | 21 | 05/09/2025 |
| 3.0.1-pre1 | 19 | 05/09/2025 |
| 3.0.0 | 20 | 05/09/2025 |
| 2.0.5-pre9 | 19 | 05/09/2025 |
| 2.0.5-pre8 | 20 | 05/09/2025 |
| 2.0.5-pre7 | 19 | 05/09/2025 |
| 2.0.5-pre6 | 20 | 05/09/2025 |
| 2.0.5-pre12 | 37 | 05/09/2025 |
| 2.0.5-pre11 | 21 | 05/09/2025 |
| 2.0.5-pre10 | 23 | 05/09/2025 |