我有一个名为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
}
TaskStatuses
是enum
,表示任务是否完成。如果我围绕该方法设计一个Web API端点,那对于客户端来说会是什么样子?
我是否会将资源显示为int并在某处注释中解释如果传递0表示不完整而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,但是也允许它,您必须在代码中处理此问题。