当搜索参数为空时,Web-Api 400 BadRequest

时间:2013-08-23 22:02:19

标签: asp.net-mvc-4 asp.net-web-api http-status-code-400

我正在使用带有mvc4的web-api

我正在进行搜索功能,在某些情况下,如果我过滤数据然后删除该文本框值,然后按搜索按钮,需要显示整个列表,但在我的情况下显示400错误请求。由于搜索参数为空,我知道如果搜索参数为空,那么它将使用web-api抛出400错误。

任何人都有适当的解决方案,请告诉我。

data: "CurrPage=" + JsCurrPage + "&PageSize=" + parseInt(pagesize) + "&BuildTypeName=" + $("#BuildTypeName").val(),

在某些情况下,BuildType为空。搜索时

//控制器

public HttpResponseMessage GetBuildTypeList(int CurrPage, int PageSize, string BuildTypeName)
        {

        }

净 - > XHR URL是:

http://{parentURL}/api/BuildTypeWebApi/GetBuildTypeList?CurrPage=1&PageSize=10&BuildTypeName=

2 个答案:

答案 0 :(得分:0)

如果你允许CurrPage和PageSize为空,那么你需要接受可以为空的整数:

public HttpResponseMessage GetBuildTypeList(int? CurrPage, int? PageSize, string BuildTypeName)

然后,如果没有提供过滤器值,您将更新查询,以便返回整个列表。

答案 1 :(得分:0)

public HttpResponseMessage GetBuildTypeList(string BuildTypeName, int CurrPage = 1, int PageSize = 0)

在您的业务逻辑中,您可以假设PageSize为0表示所有记录。