繁体   English   中英

Api in.Net Core System.NullReferenceException

[英]Api in .Net Core System.NullReferenceException

我刚开始学习 Api 并开始构建一个简单的。 我构建了这个 EmployeeController:

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;

namespace ApiHandsOn1.Controllers
{
    [Route("api/Employee")]
    [ApiController]
    public class EmployeeController : Controller
    {
        List<Employee> _employeeList = new List<Employee>()
            {
                new Employee()
                {
                    Id=1,
                    Name= "abc def",
                    Salary=20000,
                    Permanent= true,
                    //Department= { Id = 1, Name = "Payroll"},
                    Skills ={new Skill{ Id= 1 , Value= "HTML"},new Skill{ Id= 2 , Value="CSS"},new Skill{ Id= 1 , Value= "JS"} },
                    DateOfBirth = new DateTime(01/03/2002)
                },
                new Employee()
                {
                    Id=2,
                    Name= "ghi jkl",
                    Salary=25000,
                    Permanent= false,
                    //Department= { Id = 2, Name = "HR"},
                    Skills ={new Skill{ Id= 1 , Value= "HTML"},new Skill{ Id= 2 , Value="CSS"},new Skill{ Id= 1 , Value= "JS"} },
                    DateOfBirth = new DateTime(15/08/2005)
                }
            };

        public EmployeeController()
        {
            
        }

        private List<Employee> GetStandardEmployeeList()
        {
            
            return _employeeList;
        }
        // GET: EmployeeController
        [HttpGet]
        [Route("GetEmployees")]
        [ProducesResponseType(StatusCodes.Status200OK)]
        public List<Employee> GetStandard()
        {
            List<Employee> empList=GetStandardEmployeeList();
            return empList;
        }

       
    }
}

我已经为各个班级建立了模型。 但是当我在 Swagger 上执行时,它会引发异常(在 _employeeList 处):

System.NullReferenceException:“对象引用未设置为 object 的实例。”

我错过了什么?

您需要像这样初始化Skills属性:

Skills = new List<Skill>(){new Skill{}, new Skill{}}

正如@smoksnes 提到的,你应该把你的值放在DateTime时间初始化中的文字之间

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM