public ActionResult Put(Guid id, [FromBody] BookPutRequest putRequest) { if (id != putRequest.Id) { return(BadRequest()); } var book = Books.FirstOrDefault(b => b.Id == id); if (book is null) { return(NotFound()); } var newBook = new Book { Id = putRequest.Id, Title = putRequest.Title, Author = putRequest.Author }; Books.Remove(book); Books.Add(newBook); return(NoContent()); }
public async Task PutAsync(BookPutRequest request) { var requestUri = new Uri($"https://localhost:44342/api/books/{request.Id}"); var bookJson = JsonSerializer.Serialize(request); var httpContent = new StringContent(bookJson, Encoding.UTF8, "application/json"); await _httpClient.PutAsync(requestUri, httpContent); }
public async Task PutAsync(BookPutRequest request) { var requestUri = new Uri($"/api/books/{request.Id}", UriKind.Relative); var bookJson = JsonSerializer.Serialize(request); using (var requestMessage = new HttpRequestMessage(HttpMethod.Put, requestUri)) { requestMessage.Content = new StringContent(bookJson, Encoding.UTF8, "application/json"); await _httpClient.SendAsync(requestMessage, HttpCompletionOption.ResponseHeadersRead); } }
public async Task PutAsync(BookPutRequest request) { var requestUri = new Uri($"https://localhost:44342/api/books/{request.Id}"); var bookJson = JsonSerializer.Serialize(request); using (var requestMessage = new HttpRequestMessage(HttpMethod.Put, requestUri)) { requestMessage.Content = new StringContent(bookJson, Encoding.UTF8, "application/json"); await _httpClient.SendAsync(requestMessage); } }
public async Task PutAsync(BookPutRequest request) { var requestUri = new Uri($"/api/books/{request.Id}", UriKind.Relative); using (var requestStream = new MemoryStream()) { await JsonSerializer.SerializeAsync(requestStream, request, DefaultJsonSerializerOptions.Options); requestStream.Seek(0, SeekOrigin.Begin); using (var streamContent = new StreamContent(requestStream)) { streamContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); using (var requestMessage = new HttpRequestMessage(HttpMethod.Post, requestUri)) { requestMessage.Content = streamContent; await _httpClient.SendAsync(requestMessage, HttpCompletionOption.ResponseHeadersRead); } } } }