Web API控制器返回布尔值

时间:2016-01-11 19:17:00

标签: model-view-controller asp.net-web-api

我有一个Web API,其中控制器中的一个方法在验证用户ID时返回true或false,这是一个数字字符串。我还没有真正的数据库,所以我在存储库中模拟了一组值。

以下是我的代码:

我的存储库类:

 public class myRepository
{
      public myClasses.Employee[] GetAllEmployees()
        {

            return new myClasses.Employee[]
            {
                new myClasses.Employee 
                {
                    empId="111111",
                    empFName = "Jane",
                    empLName="Doe"
                },
                new myClasses.Employee 
                {
                    empId="222222",
                    empFName = "John",
                    empLName="Doe"
                }
           };

      }

        public bool VerifyEmployeeId(string id)
        {

            myClasses.Employee[] emp = new myClasses.Employee[]
            {
                new myClasses.Employee 
                {
                    empId="111111",
                    empFName = "Jane",
                    empLName="Doe"
                },
                new myClasses.Employee 
                {
                    empId="222222",
                    empFName = "John",
                    empLName="Doe"
                }
           };

            for (var i = 0; i <= emp.Length - 1; i++)
            {
                if (emp[i].empId == id)
                    return true;
            }
            return false;
        }
   }

和我的模特课:

public class myClasses
{

    public class Employee
    {
        public string empId { get; set; }
        public string empFName { get; set; }
        public string empLName { get; set; }

    }
}

这是我的控制器:

 public class myClassesController : ApiController
{
     private myRepository empRepository;

    public myClassesController()
    {

        this.empRepository = new myRepository();
    }


     public myClasses.Employee[] GetEmployees()
    {
        return empRepository.GetAllEmployees();
    }

 public bool VerifyEmployee(string id)
    {
        return empRepository.VerifyEmployeeId(string id);
    }

}

现在,当我编译它时,我收到一个错误:

} expected
Type or namespace definition, or end-of-file expected   
; expected

在行

return empRepository.VerifyEmployeeId(string id); 

我的控制器。

我的问题是使用boolean从Web API方法返回成功或失败的最佳方法还是有更好的方法?以及为什么我会收到此错误。我是Web API的新手

1 个答案:

答案 0 :(得分:1)

编译错误是由此造成的;

return empRepository.VerifyEmployeeId(string id); 

你应该改写为:

return empRepository.VerifyEmployeeId(id); 

调用函数时,没有指定参数的类型。

关于返回真或假;如果您打算只检查员工是否有效,我应该这样离开。如果您计划更多地使用该员工数据,则可以重写该功能,以便返回实际员工本身,并在例如找不到员工时返回404:Not Found。