2017-01-11 1 views
7

Я проверяю свой первый .net Core, WebAPI с Почтальон.Net Основных WebAPI, Невозможно опубликовать данные почтальона, ошибка - 415 Неподдержанного MEDIATYPE

происходит неизвестная ошибка типа носителя.

Что мне не хватает?

This is postman rest client

Это мой оприходование объект

public class Country 
{ 
    [Key] 
    public int CountryID { get; set; } 
    public string CountryName { get; set; } 
    public string CountryShortName { get; set; } 
    public string Description { get; set; } 
} 

Это контроллер WebAPI

[HttpPost] 
public async Task<IActionResult> PostCountry([FromBody] Country country) 
{ 
    if (!ModelState.IsValid) 
    { 
     return BadRequest(ModelState); 
    } 

    _context.Country.Add(country); 
    try 
    { 
     await _context.SaveChangesAsync(); 
    } 
    catch (DbUpdateException) 
    { 
     if (CountryExists(country.CountryID)) 
     { 
      return new StatusCodeResult(StatusCodes.Status409Conflict); 
     } 
     else 
     { 
      throw; 
     } 
    } 

    return CreatedAtAction("GetCountry", new { id = country.CountryID }, country); 
} 
+1

Вы можете разместить то, что в Вкладка «Заголовки»? Попробуйте настроить Content-Type на application/json – Dealdiane

ответ

18

Вы не посылает заголовок Content-Type. Выберите JSON (application/json) в раскрывающемся списке рядом с указателем мыши на первый скриншот: Like this

+0

спасибо за ответ, но я использовал api на маршруте. –

0

Это работало для меня (я использовал апи в маршруте)

[Produces("application/json")] 
[Route("api/Countries")] 
public class CountriesController : Controller 
{ 
    // POST: api/Countries 
    [HttpPost] 
    public async Task<IActionResult> PostCountry([FromBody] Country country) 
    { 
     if (!ModelState.IsValid) 
     { 
      return BadRequest(ModelState); 
     } 

     _context.Country.Add(country); 
     try 
     { 
      await _context.SaveChangesAsync(); 
     } 
     catch (DbUpdateException) 
     { 
      if (CountryExists(country.CountryID)) 
      { 
       return new StatusCodeResult(StatusCodes.Status409Conflict); 
      } 
      else 
      { 
       throw; 
      } 
     } 

     return CreatedAtAction("GetCountry", new { id = country.CountryID }, country); 
    } 
} 

enter image description here

Смежные вопросы