Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 55 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,55 @@
# Network.RestClient
Network.RestClient lib
# Network.RestClient: .NET REST Client

`Network.RestClient` is a .NET Standard 2.0 C# Library for interaction with REST APIs.

## Features

- Default HTTP Methods (GET, POST, PUT, HEAD, DELETE, PATCH) support.
- Request and response serialization with System.Text.Json.

## Example Usage

```C#
using Finebits.Network.RestClient;

// Defining a client to interact with the API
class Client : Finebits.Network.RestClient.Client
{

public Client(HttpClient client)
: base(client, new Uri("https://host"))
{}

public async Task<User> CreateUserAsync(User user)
{
var message = new CreateUserMessage();
await SendAsync(message).ConfigureAwait(false);

return message.Response.Content;
}
}
```

```C#
using Finebits.Network.RestClient;

// API request definition.
class CreateUserMessage
: Message<JsonResponse<CreateUserMessage.ResponseContent>,
JsonRequest<CreateUserMessage.User>>
{
public override Uri Endpoint => new Uri("/user", uriKind: UriKind.Relative);
public override HttpMethod Method => HttpMethod.Post;

public struct User
{
public string Name { get; set; }
public string Address { get; set; }
}

public struct ResponseContent
{
public bool Success { get; set; }
}
}
```