如何取消内置解析响应的web api

How to cancel webapi bulit in parse response

首先是 webapi 2.2 中发生的事情,而不是旧版本中发生的事情 https://devblogs.microsoft.com/aspnet/asp-net-core-2-1-web-apis/

I get from webapi response

{
    "ProductValue": [
        "The input was not valid."
    ]
}

how i cancel this response and just get false in

ModelState.IsValid

i need to return more fields to response

and this response is not good for me

for those who have hard trouble to understand in dubug i dont enter to this function at all,because web api built in mechanism return his response instend of mine {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);
} 
services.AddMvc()
    .ConfigureApiBehaviorOptions(options =>
    {
        options.SuppressModelStateInvalidFilter = true;

    });

thanks to Kirk Larkin