c# - 如何在解析响应中取消 webapi bulit
问题描述
首先它发生在 webapi 2.2 而不是旧的 https://devblogs.microsoft.com/aspnet/asp-net-core-2-1-web-apis/
我从 webapi 响应中得到
{
"ProductValue": [
"The input was not valid."
]
}
我如何取消此响应并在
ModelState.IsValid
我需要返回更多字段来响应
这个反应对我不利
对于那些在 dubug 中难以理解的人,我根本不进入这个函数,因为内置机制的 web api 返回他的响应 instend 我的 {code=9}
public MyResponse Start(Request req)
{
if (ModelState.IsValid)
{
return new MyResponse(){code=0} ;
}
return new MyResponse(){code=9} ;
}
解决方案
不确定您要实现的目标,但如果您想发送自己的自定义错误响应,那么您可能可以执行以下操作(假设)
Product p = GetProduct(productvalue);
if (p == null)
{
HttpError err = new HttpError($"Product with productvalue {productvalue} not found");
return Request.CreateResponse(HttpStatusCode.NotFound, err);
}
else
{
return Request.CreateResponse(HttpStatusCode.OK, p);
}
推荐阅读
- pandas - 将数据框列转换为列表的问题
- python - 如何将双破折号作为参数的一部分传递给shell中的程序?
- python - n 项的组合数
- angular - Angular stepper:在更改步骤时显示弹出窗口
- sql - 一个表的不同 ID 用于内部连接 SQL
- javascript - 为什么javascript返回从零开始的一天?
- java - 如何从 MongoDB Java 中的多个嵌套文档中读取属性?
- javascript - Lit-element - 在另一个组件中导入一个组件,然后访问导入组件的 DOM
- reactjs - 提交后对清除表单字段做出反应
- android - Android 11 上的 WebView - 不显示本地图像文件