Почему я получаю сообщение об ошибке «Error Internal Server» при попытке выполнить POST на Swagger? - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь протестировать API моего приложения с помощью swagger, при попытке выполнить POST-операцию я получаю сообщение об ошибке ниже

Может кто-нибудь объяснить, почему я не могу выполнить эту операцию?Например, я могу успешно выполнить операцию GET и получить список людей из базы данных.

Это сообщение отладчика.

System.InvalidOperationException: 'Поставщик базы данных не настроендля этого DbContext.Поставщик может быть настроен путем переопределения метода DbContext.OnConfiguring или с помощью AddDbContext в поставщике службы приложений.Если используется AddDbContext, то также убедитесь, что ваш тип DbContext принимает

, который относится к этому методу:

  public void InsertPerson(Person person)
  {
        _context.Persons.Add(person);
  }

Это то, что я печатаю в «Попробуйте это»и затем выполните.

   {
  "personId": 2018,
  "firstName": "James",
  "middleName": "string",
  "lastName": "Joey",
  "description": "student",
  "telephone": "22002200",
  "addressId": 2018,
  "address": {
    "addressId": 2018,
    "streetName": "Forest Avenue",
    "houseNumber": "200 B",
    "cityId": 2018,
    "addressType": "private",
    "city": {
      "cityId": 2018,
      "cityName": "ACity",
      "postalcode": "8500",
      "provinceState": "SydDjurslland",
      "country": "SW",
      "addresses": [
        null
      ]
    },
    "personsResidingAtAddress": [
      null
    ]
  },

  "emails": [
    {
      "emailId": 2018,
      "emailAddress": "someone@yahoo.com",
      "emailType": "private",
      "personId": 2018
    }
  ]
}

Я получаю этот «неверный запрос»: enter image description here

Во всех моих контроллерах метод Get () отображается красным.Например, в приведенном ниже коде «GetPerson» не распознается.Не уверены, имеет ли это какое-либо отношение к этому?

 // POST: api/People
    [HttpPost]
    public async Task<IActionResult> PostPerson([FromBody] Person person)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        _context.Persons.Add(person);
        await _context.SaveChangesAsync();

        return CreatedAtAction("GetPerson", new { id = person.PersonId }, person);
    }

Это метод GetPerson.

    // GET: api/People/5
    [HttpGet("{id}")]
    public async Task<IActionResult> GetPerson([FromRoute] int id)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        var person = await _context.Persons.FindAsync(id);

        if (person == null)
        {
            return NotFound();
        }

        return Ok(person);
    }

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...