如何在解析响应中取消webapi bulit

时间:2019-03-05 19:12:33

标签: c# asp.net-core-2.0

首先,它是在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   返回我的回应   {code = 9}

public MyResponse Start(Request req)
{
    if (ModelState.IsValid)
    {
        return new MyResponse(){code=0} ;
    }
     return new MyResponse(){code=9} ;
}

2 个答案:

答案 0 :(得分:0)

不确定要达到的目标,但是如果要发送自己的自定义错误响应,则可以执行以下操作(假设)

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);
} 

答案 1 :(得分:-1)

services.AddMvc()
    .ConfigureApiBehaviorOptions(options =>
    {
        options.SuppressModelStateInvalidFilter = true;

    });
  

感谢柯克·拉金