服务器代码是
[HttpPost("/<route>/update2")]
public StatusCodeResult UpdatePanel2([FromBody] PanelUpdateReq updateRequest)
{
if (updateRequest == null)
return BadRequest();
return Ok();
}
public enum ZZ
{
A,
B
}
public class D
{
public int Index { get; set; }
public string Path1 { get; set; }
public string Path2 { get; set; }
public ZZ DefectType { get; set; }
public double foo { get; set; }
public int bar { get; set; }
}
public class PanelUpdateReq
{
public int Number { get; set; }
public string Path { get; set; }
public List<D> Items { get; set; }
}
我发现当我为DefectType
枚举使用数字值(即“ DefectType”:0)时,请求返回OK。但是,如果我发送字母“ DefectType”:“ A”,则服务器无法解析该请求并返回错误的请求。
这是完整的请求:
{
"Number" : 2738,
"Path" : "abc/cd/2738",
"Items": [
{
"Index" : 1,
"Path1" : "some path 1",
"Path2" : "some path 2",
"DefectType" : 0, // or "A" which does not work
"foo": 10.0,
"bar" : 11
}
]
}
知道这里出了什么问题吗?我在SO上查看了其他多个问题(例如,这里是1),并且共识是使用“ A”应该可以。
我使用的是Postman客户端,application/json
如果很重要,则将内容类型设置为标题中的内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句