我正在研究将由客户使用的ASP.NET Core 2.0 API。我遇到的问题之一是,当我使用ModelState进行请求有效负载的输入验证时,使用者看到的结果错误消息在响应JSON中具有[objectPrefix] .PropertyName。我们的API文档列出了属性名称,但没有列出对象类,因此,当使用者编写将JSON响应反序列化到其本地对象模型中的代码时,前缀就产生了问题。我可以在Startup.cs ConfigureServices方法中为Service.AddMvc或类似的东西设置任何选项来禁用此前缀吗?我在我的API,.NET Core 2.0.4和VS2016 v15.5.7中使用Microsoft.AspNetCore.All(2.0.7)依赖关系(如果有的话)。我正在使用System.ComponentModel.DataAnnotations库中的Data Annotations,并装饰我的创建DTO类属性,如下所示; [Required] [MaxLength(14)] public string AccountNumber { get => _accountNumber; set => _accountNumber = !string.IsNullOrWhiteSpace(value) ? value.Trim() : string.Empty; }当使用者在请求有效负载中未提供帐号时,返回的错误如下所示;{ "[AccountDto].AccountNumber": [ "The AccountNumber field is required." ]}我想做的是消除[AccountDto]。前缀,以便错误JSON如下所示;{ "AccountNumber": [ "The AccountNumber field is required." ]}我找到了这篇SO帖子,但似乎引用了较旧的ASP.NET。目前,我正在让我的客户端在json响应上执行字符串替换,但我确实希望有一个更好的解决方案。有任何想法吗?
1 回答
- 1 回答
- 0 关注
- 162 浏览
添加回答
举报
0/150
提交
取消