在ASP.NET Web API中,反序列化为枚举无法正常工作

以下是基本的Web API示例:

public class MyController : ApiController
{
    public MyEnum Get()
    {
        return MyEnum.One;
    }

    public void Post(MyEnum value)
    {
    }

    public void Put(int value)
    {
    }
}

public enum MyEnum
{
    One = 1,Two,Three,Four,Five
}

以下是具有预期行为的查询:

  • 开机自检/api/My?value=1→200
  • 输入/api/My?value=1→200
  • 输入/api/My?value=1,2→400

这是查询行为异常:

  • POST /api/My?value=1,2→200,值= 3

我不明白为什么。
我预计会出现400错误,但会得到200,但值有误。
有人可以解释一下为什么我得到这个结果吗?

XINXIN16666 回答:在ASP.NET Web API中,反序列化为枚举无法正常工作

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3101097.html

大家都在问