我正在研究將由客戶使用的ASP.NET Core 2.0 API。我遇到的問(wèn)題之一是,當(dāng)我使用ModelState進(jìn)行請(qǐng)求有效負(fù)載的輸入驗(yàn)證時(shí),使用者看到的結(jié)果錯(cuò)誤消息在響應(yīng)JSON中具有[objectPrefix] .PropertyName。我們的API文檔列出了屬性名稱,但沒(méi)有列出對(duì)象類,因此,當(dāng)使用者編寫將JSON響應(yīng)反序列化到其本地對(duì)象模型中的代碼時(shí),前綴就產(chǎn)生了問(wèn)題。我可以在Startup.cs ConfigureServices方法中為Service.AddMvc或類似的東西設(shè)置任何選項(xiàng)來(lái)禁用此前綴嗎?我在我的API,.NET Core 2.0.4和VS2016 v15.5.7中使用Microsoft.AspNetCore.All(2.0.7)依賴關(guān)系(如果有的話)。我正在使用System.ComponentModel.DataAnnotations庫(kù)中的Data Annotations,并裝飾我的創(chuàng)建DTO類屬性,如下所示; [Required] [MaxLength(14)] public string AccountNumber { get => _accountNumber; set => _accountNumber = !string.IsNullOrWhiteSpace(value) ? value.Trim() : string.Empty; }當(dāng)使用者在請(qǐng)求有效負(fù)載中未提供帳號(hào)時(shí),返回的錯(cuò)誤如下所示;{ "[AccountDto].AccountNumber": [ "The AccountNumber field is required." ]}我想做的是消除[AccountDto]。前綴,以便錯(cuò)誤JSON如下所示;{ "AccountNumber": [ "The AccountNumber field is required." ]}我找到了這篇SO帖子,但似乎引用了較舊的ASP.NET。目前,我正在讓我的客戶端在json響應(yīng)上執(zhí)行字符串替換,但我確實(shí)希望有一個(gè)更好的解決方案。有任何想法嗎?
- 1 回答
- 0 關(guān)注
- 181 瀏覽
添加回答
舉報(bào)
0/150
提交
取消