Проблема с размещением json в моем веб-api. Как я могу это решить

#c# #json #asp.net-core #http-post #asp.net-core-webapi

#c# #json #asp.net-core #http-post #asp.net-core-webapi

Вопрос:

Я новичок в веб-api и теперь создаю простую программу с использованием .net 3 В моем контроллере, я создаю простой метод post

 [HttpPost]
public ActionResult Post(CountryPostRequest countryPostRequest)
{
    var savedCity = new City {Name=countryPostRequest.Capital};
    var savedRegion = countryDb.Regions.Add(new Region { Name = countryPostRequest.Region });
    var savedCountry = countryDb.Countries.Add(new Countrie { Name = countryPostRequest.Name, Region = new Region { Name = countryPostRequest.Region }, Capital = savedCity, AreaSize = countryPostRequest.AreaSize, CountryCode = countryPostRequest.CountryCode, Population = countryPostRequest.Population });
    countryDb.SaveChanges();
    return RedirectToAction(nameof(Get));
}
  

Этот метод получает CountryPostRequest. Это выглядит так

 public class CountryPostRequest
{
    public string Name { set; get; }
    public string CountryCode { set; get; }
    public int Population { set; get; }
    public double AreaSize { set; get; }
    public string Capital { set; get; }
    public string Region { set; get; }
}
  

В целом я пытаюсь опубликовать этот raw с помощью postman

 {
   "Name" : "Roman Empire",
   "CountryCode" : "RE",
   "Population" : 22,
   "AreaSize": 22.0,
   "Capital" : "Rome",
   "Region" : "EU"
}
  

И почтальон выдает мне результат:

 {
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.13",
    "title": "Unsupported Media Type",
    "status": 415,
    "traceId": "|db653ff6-46b8be8826b56364."
}
  

Методы получения работают нормально. Что неверно? Помогите, пожалуйста

Комментарии:

1. Вам нужно установить тип содержимого в postman как JSON (application/json) . Перейдите к телу вашего запроса POST, там вы найдете необработанный вариант. Прямо рядом с ним будет выпадающий список, выберите JSON

2. Отлично, спасибо @RahulSharma

3. Да——————————-

Ответ №1:

Специально для вашего случая, поскольку вы используете postman для вызова своего API:

Вам нужно установить тип содержимого в postman как JSON (application / json). Перейдите к телу вашего запроса POST, там вы найдете необработанный вариант. Прямо рядом с ним будет выпадающий список, выберите JSON.