【问题标题】:Web API controller returning booleanWeb API 控制器返回布尔值
【发布时间】:2016-01-11 19:16:59
【问题描述】:

我有一个 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); 

我的控制器。

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

【问题讨论】:

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


    【解决方案1】:

    编译错误就是这个原因造成的;

    return empRepository.VerifyEmployeeId(string id); 
    

    你应该改写为:

    return empRepository.VerifyEmployeeId(id); 
    

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

    关于返回真假;如果你打算只检查员工是否有效,我应该这样。如果您打算更多地使用该员工数据,则可以重写该函数,使其返回实际员工本身,并在找不到员工时返回 404:未找到。

    【讨论】:

    • 天哪,我今天过得很糟糕:(
    猜你喜欢
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 2023-03-13
    • 2021-02-13
    • 1970-01-01
    • 2013-04-30
    相关资源
    最近更新 更多