Provides extension methods for System.Net.Http.HttpClient
and System.Net.Http.HttpContent
that facilitate serialization and deserialization of HTTP requests using System.Text.Json.
HttpContent
instances.using System.Net.Http.Json;
using var client = new HttpClient();
// Get the list of all books
Book[] books = await client.GetFromJsonAsync<Book[]>("https://api.contoso.com/books");
// Send a POST request to add a new book
var book = new Book(id: 42, "Title", "Author", publishedYear: 2023);
HttpResponseMessage response = await client.PostAsJsonAsync($"https://api.contoso.com/books/{book.id}", book);
if (response.IsSuccessStatusCode)
Console.WriteLine("Book added successfully.");
else
Console.WriteLine($"HTTP request failed with status code: {response.StatusCode}");
public record Book(int id, string title, string author, int publishedYear);
The main types provided by this library are:
HttpClientJsonExtensions
HttpContentJsonExtensions
System.Net.Http.Json is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.