Apizr Versions Save

Refit based web api client management, but resilient (retry, connectivity, cache, auth, log, priority, etc...)

Apizr-v5.0.0-preview.4

11 months ago

All

  • [New] Now we can set a default readonly authentication token with a dedicated WithAuthenticationHandler fluent option

Apizr.Integrations.MediatR

  • [Fix] Fixed wrong package reference from last preview 3

Apizr-v5.0.0-preview.3

1 year ago

All

  • [New] Now we can set headers with the brand new WithHeaders fluent option

Apizr.Tools.NSwag

  • [New] We can now choose between None, AutoMapper, Mapster or Custom data mapping integration

Apizr.Integrations.MediatR

  • [Update] Package now targets .NET Standard 2.0 as before and updated to MediatR 12+

Apizr.Integrations.Optional

  • [Update] Package now targets .NET Standard 2.0 as before

Apizr.Integrations.FileTransfer.MediatR

  • [Update] Package now targets .NET Standard 2.0 as before and updated to MediatR 12+

Apizr.Integrations.FileTransfer.Optional

  • [Update] Package now targets .NET Standard 2.0 as before

Apizr-v5.0.0-preview.2

1 year ago

Apizr.Integrations.Mapster

  • [New] Brand new data mapping integration package with Mapster

Apizr.Integrations.FileTransfer

  • [New] We can now define the upload return type
  • [New] We can now get built-in managers with custom types thanks to shortcut methods by providing the download parameters type or the upload return type or both.

Apizr.Extensions.Microsoft.FileTransfer

  • [New] We can now define the upload return type

Apizr.Integrations.FileTransfer.MediatR

  • [New] We can now define the upload return type

Apizr.Integrations.FileTransfer.Optional

  • [New] We can now define the upload return type

Apizr-v5.0.0-preview.1

1 year ago

All

  • [New] Now we can group registry common configurations at any level to share configurations without any limit
  • [New] Now we can set a base path with the brand new WithBasePath fluent option or using attribute
  • [New] Now we can set options at request time with the brand new fluent request options builder
  • [New] Now we can execute api requests directly from the registry containing the managed api

Apizr

  • [New] [Core] Now we can set a custom HttpClient with the brand new WithHttpClient fluent option
  • [Improvement] [Core] No more dependency to Microsoft.Extensions.Http.Polly from the core package
  • [Breaking] [Naming] Now ApizrBuilder static class offers only a Current property returning its own instance to get acces to its methods, so that it could be extended then by other packages
  • [Fix] Some bugs and performance issues fixed

Apizr.Integrations.FileTransfer

  • [New] Brand new integration package to manage file transfers like a breeze with static registration/instanciation
  • [New] We can track file transfer progress with the brand new WithProgress fluent option

Apizr.Extensions.Microsoft.FileTransfer

  • [New] Brand new integration package to manage file transfers like a breeze with extended registration

Apizr.Integrations.FileTransfer.MediatR

  • [New] Brand new integration package to manage file transfers like a breeze with mediator pattern

Apizr.Integrations.FileTransfer.Optional

  • [New] Brand new integration package to manage file transfers like a breeze with mediator pattern and optional result

Apizr.Tools.NSwag

  • [New] Brand new CLI tool so that Apizr files can now be generated by command line (Models, Apis and Registrations) from an OpenApi/Swagger definition using NSwag

Apizr-v4.1.0

2 years ago

Apizr

  • [Breaking] [Naming] Apizr static class renamed to ApizrBuilder to match its purpose and doesn't conflict with its namespace anymore
  • [Breaking] [Naming] ApizrBuilder's methods renamed to match their return type so that we know what we're about to build (e.g. CreateRegistry, AddManagerFor, CreateManagerFor)
  • [Breaking] [Naming] ApizrRegistry's methods renamed to match their return type so that we know what we're about to get (e.g. GetManagerFor, GetCrudManagerFor, ContainsManagerFor)
  • [Fix] [Connectivity] No more exception while using Apizr the extended way but without providing any IConnectivityHandler implementation with Fusillade priority management enabled
  • [Improvement] [Address] Now we can set base address at both common and proper levels so we can define a base address shared by all apis, but also a specific one if needed

Apizr.Extensions.Microsoft.DependencyInjection

  • [Breaking] [Naming] Extension methods renamed to match their return type so that we know what we're about to build (e.g. AddManagerFor, AddCrudManagerFor)
  • [Breaking] [Naming] ApizrExtendedRegistry's methods renamed to match their return type so that we know what we're about to get (e.g. GetManagerFor, GetCrudManagerFor, ContainsManagerFor)

Apizr.Integrations.MediatR

  • [Breaking] [Naming] ApizrMediationRegistry's methods renamed to match their return type so that we know what we're about to get (e.g. GetMediatorFor, GetCrudMediatorFor, ContainsMediatorFor)

Apizr.Integrations.Optional

  • [Breaking] [Naming] ApizrOptionalMediationRegistry's methods renamed to match their return type so that we know what we're about to get (e.g. GetOptionalMediatorFor, GetCrudOptionalMediatorFor, ContainsOptionalMediatorFor)

Apizr-v4.0.0

2 years ago

Apizr

  • [New] [Logging] Now fully relies on MS Logging extensions
  • [New] [Logging] Static fluent configuration now offers a WithLoggerFactory option to provide a custom logger factory
  • [Breaking] [Logging] TraceAttribute has been renamed back to LogAttribute
  • [Breaking] [Logging] Now we can set a LogLevel value for each Low, Medium and High severity by attribute or fluent configuration
  • [New] [Logging] Now we can set logging settings within LogAttribute at method level
  • [New] [Logging] Now we can set http tracing mode within LogAttribute to ajust log writting conditions (ExceptionsOnly, ErrorsAndExceptionsOnly or Everything)
  • [New] [Logging] No more HttpTracer NuGet package dependency as source code has been integrated and largely adjusted to Apizr needs
  • [New] [Configuring] Both static and extended fluent configuration now offers a Registry to set common options once for all registered apis, while keeping proper options applied to selected apis
  • [New] [Configuring] Static fluent configuration could return the registry that expose a Populate method to register each generated Apizr manager in a container
  • [New] [Configuring] Generated registry exposes GetFor, TryGetFor, GetCrudFor and TryGetCrudFor methods so that it could be used everywhere to get managers, instead of direct access
  • [New] [Policing] Now we can provide a custom PollyContext if defined into the called api interface method, it will carry all logging settings for DelegatingHandler use.
  • [New] [Mapping] Now we can enjoy data mapping with both static and extended configurations
  • [Improvement] [Mapping] Now we can let Apizr auto map data right before sending request and/or after recieving response by providing types on ExecuteAsync call
  • [New] [Caching] Now we can ask for clearing request cache before executing
  • [New] [Exceptions] Brand new onException Action parameter to handle it globally (e.g. user dialog/toast) and let potential cached data return to caller as expected (e.g. refreshing UI)

Apizr.Extensions.Microsoft.DependencyInjection

  • [New] We can now auto register crud managers for all scanned classes decorated by crud attributes

Apizr.Extensions.Microsoft.Caching

  • [New] Brand new integration project to set MS Caching extensions as caching handler

Apizr.Integrations.Akavache

  • [Improvement] Now we can ajust Akavache settings while configuring
  • [New] Now we can register Akavache directly with the brand new WithAkavacheCacheHandler option

Apizr.Integrations.MediatR

  • [Breaking] Now Apizr.Integrations.MediatR targets .Net Standard 2.1 as MediatR v10+ does
  • [New] Now we can let Apizr auto map data right before sending request and/or after recieving response by providing types on Apizr mediators Send call
  • [New] Brand new IApizrMediator & IApizrCrudMediator interfaces to get things shorter than IMediator
  • [New] Now we can ask for clearing request cache before executing
  • [New] Brand new onException Action parameter to handle it globally (e.g. user dialog/toast) and let potential cached data return to caller as expected (e.g. refreshing UI)

Apizr.Integrations.Optional

  • [Breaking] Now Apizr.Integrations.Optional targets .Net Standard 2.1 as Apizr.Integrations.MediatR v4+ does
  • [New] Now we can let Apizr auto map data right before sending request and/or after recieving response by providing types on Apizr optional mediators Send call
  • [New] Brand new IApizrOptionalMediator & IApizrCrudOptionalMediator interfaces to get things shorter than IMediator
  • [New] Now we can ask for clearing request cache before executing

Apizr.Integrations.AutoMapper

  • [Breaking] Now Apizr.Integrations.AutoMapper targets .Net Standard 2.1 as AutoMapper v11+ does
  • [New] Now we can register AutoMapper directly with the brand new WithAutoMapperMappingHandler option
  • [Improvement] No more extended package dependency to enjoy data mapping with both static and extended configurations

[!WARNING]Apizr.Integrations.Shiny has been discontinued

This integration project has been dropped out as Shiny no longer provide built-in caching and logging feature anymore. Apizr now either relies on MS Caching extensions, Akavache or MonkeyCache for caching feature and MS Logging extensions for logging feature. You'll have to provide a connectivity handler if you want Apizr to check it.

Apizr-v4.0.0-preview.2

2 years ago
  • [Breaking] [Logging] Now we can set a LogLevel value for each Low, Medium and High severity by attribute or fluent configuration
  • [Fix] [Connecting] NullReferenceException when not providing any connectivity handler fixed

Apizr-v4.0.0-preview.1

2 years ago

Apizr

  • [New] [Logging] Now fully relies on MS Logging extensions
  • [New] [Logging] Static fluent configuration now offers a WithLoggerFactory option to provide a custom logger factory
  • [Breaking] [Logging] TraceAttribute has been renamed back to LogAttribute
  • [New] [Logging] Now we can set logging settings within LogAttribute at method level
  • [New] [Logging] Now we can set http tracing mode within LogAttribute to ajust log writting conditions (ExceptionsOnly, ErrorsAndExceptionsOnly or Everything)
  • [New] [Logging] No more HttpTracer NuGet package dependency as source code has been integrated and largely adjusted to Apizr needs
  • [New] [Configuring] Both static and extended fluent configuration now offers a Registry to set common options once for all registered apis, while keeping proper options applied to selected apis
  • [New] [Configuring] Static fluent configuration could return the registry that expose a Populate method to register each generated Apizr manager in a container
  • [New] [Configuring] Generated registry exposes GetFor, TryGetFor, GetCrudFor and TryGetCrudFor methods so that it could be used everywhere to get managers, instead of direct access
  • [New] [Policing] Now we can provide a custom PollyContext if defined into the called api interface method, it will carry all logging settings for DelegatingHandler use.
  • [New] [Mapping] Now we can enjoy data mapping with both static and extended configurations
  • [Improvement] [Mapping] Now we can let Apizr auto map data right before sending request and/or after recieving response by providing types on ExecuteAsync call
  • [New] [Caching] Now we can ask for clearing request cache before executing
  • [New] [Exceptions] Brand new onException Action parameter to handle it globally (e.g. user dialog/toast) and let potential cached data return to caller as expected (e.g. refreshing UI)

Apizr.Extensions.Microsoft.DependencyInjection

  • [New] We can now auto register crud managers for all scanned classes decorated by crud attributes

Apizr.Extensions.Microsoft.Caching

  • [New] Brand new integration project to set MS Caching extensions as caching handler

Apizr.Integrations.Akavache

  • [Improvement] Now we can ajust Akavache settings while configuring
  • [New] Now we can register Akavache directly with the brand new WithAkavacheCacheHandler option

Apizr.Integrations.MediatR

  • [Breaking] Now Apizr.Integrations.MediatR targets .Net Standard 2.1 as MediatR v10+ does
  • [New] Now we can let Apizr auto map data right before sending request and/or after recieving response by providing types on Apizr mediators Send call
  • [New] Brand new IApizrMediator & IApizrCrudMediator interfaces to get things shorter than IMediator
  • [New] Now we can ask for clearing request cache before executing
  • [New] Brand new onException Action parameter to handle it globally (e.g. user dialog/toast) and let potential cached data return to caller as expected (e.g. refreshing UI)

Apizr.Integrations.Optional

  • [Breaking] Now Apizr.Integrations.Optional targets .Net Standard 2.1 as Apizr.Integrations.MediatR v4+ does
  • [New] Now we can let Apizr auto map data right before sending request and/or after recieving response by providing types on Apizr optional mediators Send call
  • [New] Brand new IApizrOptionalMediator & IApizrCrudOptionalMediator interfaces to get things shorter than IMediator
  • [New] Now we can ask for clearing request cache before executing

Apizr.Integrations.AutoMapper

  • [Breaking] Now Apizr.Integrations.AutoMapper targets .Net Standard 2.1 as AutoMapper v11+ does
  • [New] Now we can register AutoMapper directly with the brand new WithAutoMapperMappingHandler option
  • [Improvement] No more extended package dependency to enjoy data mapping with both static and extended configurations

[!WARNING]Apizr.Integrations.Shiny has been discontinued

This integration project has been dropped out as Shiny no longer provide built-in caching and logging feature anymore. Apizr now either relies on MS Caching extensions, Akavache or MonkeyCache for caching feature and MS Logging extensions for logging feature. You'll have to provide a connectivity handler if you want Apizr to check it.