Hawf 2.0.0
dotnet add package Hawf --version 2.0.0
NuGet\Install-Package Hawf -Version 2.0.0
<PackageReference Include="Hawf" Version="2.0.0" />
paket add Hawf --version 2.0.0
#r "nuget: Hawf, 2.0.0"
// Install Hawf as a Cake Addin #addin nuget:?package=Hawf&version=2.0.0 // Install Hawf as a Cake Tool #tool nuget:?package=Hawf&version=2.0.0
hawf
Http API Wrapper Framework - Quickly build API wrappers and clients
Installation
You can find the package on NuGet or install through command line:
dotnet add package Hawf
Basic Usage
Creating an API is as simple as inherting the ApiBase
and annotate the ApiClient
attribute:
[ApiClient("https://api.mywebsite.com")]
public class MyApi : ApiBase<MyApi>
{
public Task<string> MyApiCallAsync() => GetStringAsync("/myendpoint");
}
You can then instantiate the class and call the api endpoint:
var api = new MyApi();
var response = await api.MyApiCallAsync();
Console.WriteLine(response);
This is only a very basic example of how it works. The framework provides various convenient methods and tools to quickly create a complete client for your API.
Features
- Quickly define your API endpoints into client code with a rich builder API.
- Supports automatic JSON serialization/deserialization.
- Handles authentication and authorization of your endpoints.
- Can avoid rate limits to trigger on APIs
- Based on the Task Asynchronous Programming (TAP) pattern.
- Response caching.
- Standardizes the code structure to keep it readable and maintainable.
For a complete overview of all the features, check out the documentation.
Documentation
Check out the main documentation here.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Hawf:
Package | Downloads |
---|---|
ManiaExchange.ApiClient
Mania exchange general API client. |
|
TrackmaniaIo.ApiClient
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.