如何呈现基础方法使用枚举

时间:2018-03-16 22:03:59

标签: c# asp.net-web-api

我有一个名为Tasks的课程。

public class Tasks
{
  public int Id { get; set; }
  public string Name { get; set; }
  public int Status { get; set; }
}

public enum TaskStatuses
{
  NotComplete,
  Complete
}

业务类中客户端的公共方法如下所示:

public void StatusUpdate(TaskStatuses status, int taskId)
{
  //stuff
}

TaskStatusesenum,表示任务是否完成。如果我围绕该方法设计一个Web API端点,那对于客户端来说会是什么样子?

我是否会将资源显示为int并在某处注释中解释如果传递0表示不完整而1表示完成?

1 个答案:

答案 0 :(得分:1)

假设你在Api中有这个动作

[HttpPut]
[Route("Api/Values/StatusUpdate")]
 public void StatusUpdate(TaskStatuses status, int taskId)
 {
            //stuff
 }

这个Enum

public enum TaskStatuses
{
  NotComplete,
  Complete
}

以这种方式调用此动作

PUT
http://localhost:58330/Api/Values/StatusUpdate?status=1&taskId=12

表示完成 0未完成

但你也可以打这个电话

PUT
http://localhost:58330/Api/Values/StatusUpdate?status=115&taskId=12

在这种情况下,您的Enum中没有等效的115,但是也允许它,您必须在代码中处理此问题。