ASP.NET API не может обрабатывать POST ⇐ C#
-
Гость
ASP.NET API не может обрабатывать POST
Я новичок в ASP.NET. Я пытаюсь сделать запрос POST к API на стороне моего сервера. Я правда пытался это понять сам, но не могу.
Вот что я делаю:
[*]Добавить строки подключения к MySQL -> работает, я могу запросить мою базу данных [*]Создайте DbContext и добавьте его в службы компоновщика -> работает [*]Создайте сервис для публикации объекта:
public async Task AddPlanete (Planete Planet) { использование (var context = _dbContextFactory.CreateDbContext()) { context.Planetes.Add(планета); ждут context.SaveChangesAsync(); } } [*]Создайте API с использованием службы: [HttpPost] общедоступная асинхронная задача PostPlanete (Planete Planete) { ждут _myService.AddPlanete(planete); return CreatedAtAction(nameof(GetPlanete), планета, планета); } [*]Клиентская часть: IService Task PostPlanete(Planete Planete); [*]Реализация услуги public async Task PostPlanete(Planete Planete) { пытаться { var itemJson = new StringContent(JsonSerializer.Serialize(planete), Encoding.UTF8, "application/json"); var ответ = ждут _httpClient.PostAsync("api/StarfieldApi", itemJson); если (ответ.IsSuccessStatusCode) { вар responseBody = ждут ответа.Content.ReadAsStreamAsync(); var addPlanete = await JsonSerializer.DeserializeAsync(responseBody, new JsonSerializerOptions { PropertyNameCaseInsensitivity = true }); вернуть добавленную Планету; } вернуть ноль; } поймать (Исключение e) { Console.WriteLine(e.Message); вернуть ноль; } } [*]Добавьте службу в Program.cs ->
builder.Services.AddScoped(); [*]Используйте его на странице бритвы
@inject IStarfieldService _starfieldService @onclick="PostPlanete" @код { общедоступная асинхронная задача PostPlanete() { ждут _starfieldService.PostPlanete(_planete); } } Кроме того, важно, что при использовании Postman я получаю ошибку 415 -> Неподдерживаемый тип носителя, но это JSON с ядром ORM EF. я понятия не имею Извините за длинное сообщение.
Я просмотрел много видеороликов об API CRUD, но пытаюсь делать то же самое, что и они, но у меня не получается.
Я новичок в ASP.NET. Я пытаюсь сделать запрос POST к API на стороне моего сервера. Я правда пытался это понять сам, но не могу.
Вот что я делаю:
[*]Добавить строки подключения к MySQL -> работает, я могу запросить мою базу данных [*]Создайте DbContext и добавьте его в службы компоновщика -> работает [*]Создайте сервис для публикации объекта:
public async Task AddPlanete (Planete Planet) { использование (var context = _dbContextFactory.CreateDbContext()) { context.Planetes.Add(планета); ждут context.SaveChangesAsync(); } } [*]Создайте API с использованием службы: [HttpPost] общедоступная асинхронная задача PostPlanete (Planete Planete) { ждут _myService.AddPlanete(planete); return CreatedAtAction(nameof(GetPlanete), планета, планета); } [*]Клиентская часть: IService Task PostPlanete(Planete Planete); [*]Реализация услуги public async Task PostPlanete(Planete Planete) { пытаться { var itemJson = new StringContent(JsonSerializer.Serialize(planete), Encoding.UTF8, "application/json"); var ответ = ждут _httpClient.PostAsync("api/StarfieldApi", itemJson); если (ответ.IsSuccessStatusCode) { вар responseBody = ждут ответа.Content.ReadAsStreamAsync(); var addPlanete = await JsonSerializer.DeserializeAsync(responseBody, new JsonSerializerOptions { PropertyNameCaseInsensitivity = true }); вернуть добавленную Планету; } вернуть ноль; } поймать (Исключение e) { Console.WriteLine(e.Message); вернуть ноль; } } [*]Добавьте службу в Program.cs ->
builder.Services.AddScoped(); [*]Используйте его на странице бритвы
@inject IStarfieldService _starfieldService @onclick="PostPlanete" @код { общедоступная асинхронная задача PostPlanete() { ждут _starfieldService.PostPlanete(_planete); } } Кроме того, важно, что при использовании Postman я получаю ошибку 415 -> Неподдерживаемый тип носителя, но это JSON с ядром ORM EF. я понятия не имею Извините за длинное сообщение.
Я просмотрел много видеороликов об API CRUD, но пытаюсь делать то же самое, что и они, но у меня не получается.
Мобильная версия