При попытке вызвать мой API AspNetCore Restful из Blazor Wasm я получаю сообщение об ошибке TypeError: Failed to fetch. Я могу позвонить ему из Почтальона, и он прекрасно работает.
Мое окружение: Microsoft Visual Studio Community 2019 Preview Версия 16.6.0 Preview 3.0
Клиент: Blazor Wasm Service (dotnetstandard 2.1)
- As pNet .WebApi.Client 5.2.7
- AspNetCore..WebAssembly 3.2 Предварительный просмотр 4.2
- Система . Net .Http. Json 3.2 Предварительный просмотр 5.2
Важные значения:
using Microsoft.AspNetCore.JsonPatch;
using Newtonsoft.Json;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Net.Http.Json;
Родительское пространство имен и класс опущены _httpClient внедряется в родительский класс
public async Task<MyDto> UpdatePartialAsync(Guid primaryId, ObjectForUpdateDto objectForUpdateDto)
{
MyDto dtoFromApi = null;
var patchDoc = new JsonPatchDocument<ObjectForUpdateDto>()
.Replace(o => o.Name, objectForUpdateDto.Name)
.Replace(o => o.Description, objectForUpdateDto.Description)
var uri = $"MyUri/myResources/{primaryId}";
try
{
_httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var serializedPatchDoc = JsonConvert.SerializeObject(patchDoc);
var json = new StringContent(serializedPatchDoc, Encoding.UTF8, "application/json-patch+json");
var response = await _httpClient.PatchAsync(uri, json);
return await response.Content.ReadAsAsync<MyDto>();
}
catch (Exception)
{
throw; //throws 'TypeError: Failed to fetch'
}
return dtoFromApi;
}
Мой API (. Net 5.0, также пробовал. Net Core 3.1):
[HttpPatch]
[Route("{primaryId}")]
public ActionResult UpsertPartial([FromRoute]Guid primaryId, [FromBody] JsonPatchDocument<ObjectForUpdateDto> objectForUpdateDto)
{
//client call never makes it here
return NoContent();
}