从 Breeze Web API 返回警告而不是错误
本文关键字:错误 警告 返回 Breeze Web API | 更新日期: 2023-09-27 18:35:19
I use Breeze
.js 和 C# WebAPI with BreezeController。 我想更新客户端网页上的实体,将其传递给 WebAPI 进行更新,保存实体,然后发回警告。
[HttpPost]
public SaveResult SaveChanges(JObject saveBundle) {}
有没有办法返回包含警告信息的保存结果? 不是错误,而是警告。
例如,我正在保存居民的年龄。 如果年龄
saveResult.Errors.Add(new EntityError() {
PropertyName = "Age",
ErrorName = "Warning",
ErrorMessage = "The age of the resident is less than 50. You may want to verify that you entered the correct age."
});
如果我这样做(这是我想要的行为):
- 实体已正确保存。
- 警告消息在保存结果结构中发送回。
- 实体在服务器上正确更新,并与 saveResult 一起发回(即我的实体的系统生成主键包含新 ID)。
但是(这不是我想要的行为):
- 在客户端上,实体不会更新,即 PK 未更新,实体仍处于挂起状态(未保存)。
我确定我在 SaveResult 中返回错误的事实就是问题所在,因为 Breeze.js 可能将其(正确)解释为错误。 但是,我不知道如何使用 Breeze 模型返回警告,并且仍然具有一切功能。
顺便说一下,我知道我可以在调用 WebAPI 之前在客户端进行验证,但我希望我所有的验证都在服务器端进行,特别是因为其中一些验证非常复杂。
有什么建议吗?
现在 breeze 没有"警告"的概念,而不是"错误"的概念,但我确实同意这个概念很有用。 您能否将其添加为微风用户之声的功能请求,(http://breezejs.uservoice.com/),如果它引起足够的兴趣,我们肯定会研究它?