PutAsync Method

Make a type-safe PUT request for full resource replacement.

Namespace

RestClient.Net

Containing Type

HttpClientExtensions

Signature

Same signature as PostAsync.

public static async Task<Result<TSuccess, HttpError<TError>>> PutAsync<TRequest, TSuccess, TError>(
    this HttpClient httpClient,
    AbsoluteUrl url,
    TRequest body,
    Func<TRequest, HttpContent> serializeRequest,
    Func<HttpResponseMessage, CancellationToken, Task<TSuccess>> deserializeSuccess,
    Func<HttpResponseMessage, CancellationToken, Task<TError>> deserializeError,
    IReadOnlyDictionary<string, string>? headers = null,
    CancellationToken cancellationToken = default
)

Example

var updatedUser = new UpdateUserRequest("John Updated", "john.updated@example.com");

var result = await httpClient.PutAsync(
    url: "https://api.example.com/users/123".ToAbsoluteUrl(),
    body: updatedUser,
    serializeRequest: SerializeJson,
    deserializeSuccess: DeserializeUser,
    deserializeError: DeserializeApiError
);

See Also