为什么在Swagger上尝试POST时出现“ Error Internal Server”错误?

时间:2018-11-30 18:25:18

标签: c# asp.net-core swagger

我正在尝试用招摇工具测试我的应用程序api,而我尝试执行POST操作时却收到以下错误。 谁能解释为什么我无法执行此操作。例如,我可以成功运行GET操作并从数据库中获取人员列表。

这是调试器消息。

  

System.InvalidOperationException:'尚未为此DbContext配置数据库提供程序。可以通过重写DbContext.OnConfiguring方法或在应用程序服务提供程序上使用AddDbContext来配置提供程序。如果使用AddDbContext,则还要确保您的DbContext类型接受

采用这种方法:

A = [ id name val
      1   jack 10
      2   mec  20
      3   alex  
      4   john
      5   sam  250
      6   tom  100
      7   sam
      8   hellen 300]

这是我在“试用”框中键入的内容,然后执行。

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

我收到此“错误请求”: enter image description here

在我所有的控制器中,Get()方法都显示为红色。例如,在下面的代码“ GetPerson”中无法识别。不确定是否与此有关?

   {
  "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
    }
  ]
}

这是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);
    }

enter image description here

0 个答案:

没有答案