Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 允许客户端按多个参数进行筛选_C#_Asp.net_.net_Asp.net Mvc_Visual Studio - Fatal编程技术网

C# 允许客户端按多个参数进行筛选

C# 允许客户端按多个参数进行筛选,c#,asp.net,.net,asp.net-mvc,visual-studio,C#,Asp.net,.net,Asp.net Mvc,Visual Studio,我有一个MVC解决方案,它公开数据库中的数据 他们发出HttpGet,我的控制器向客户端提供数据: [HttpGet] [Route("{someGuid:guid}")] public HttpResponseMessage Get([FromUri] Guid? someGuid) { var responseData = _someService.RecordSet.Where(x=>x.guid == someGuid); return Request.Respo

我有一个MVC解决方案,它公开数据库中的数据

他们发出HttpGet,我的控制器向客户端提供数据:

[HttpGet]
[Route("{someGuid:guid}")]
public HttpResponseMessage Get([FromUri] Guid? someGuid)
{
    var responseData = _someService.RecordSet.Where(x=>x.guid == someGuid);

    return Request.ResponseMessageFromApiEntity(responseData);
}
我如何实现一种方法,使客户端能够发出具有多个参数组合的请求?它们可以传入2个或5个或最多10个参数,我需要根据这些参数过滤数据集。

利用

利用


我有多个get端点。控制器足够聪明,可以判断出使用的是哪一个。类似这样的内容:www.YourURL/api/controller?var1=value&var1=value public IHttpActionResult Get(string var1,string var2)如果他们决定直接通过Honda怎么办?试试这篇文章。它只是设置了一个除沫器来分离上面的参数。我主要使用web api,所以我会将一个对象粘贴到http请求体中。你是说传递多个GUI?只需将其声明为数组,如中所示。还是说不同的参数名?只需将它们作为可空参数添加到方法中,并使用
Where
chaining.@stephen.vakil我需要多个参数,如果客户端传入一个空参数,我的Where将如何工作?我如何以条件方式(基于是否提供参数的条件)链接where's我有多个get端点。控制器足够聪明,可以判断出使用的是哪一个。类似这样的内容:www.YourURL/api/controller?var1=value&var1=value public IHttpActionResult Get(string var1,string var2)如果他们决定直接通过Honda怎么办?试试这篇文章。它只是设置了一个除沫器来分离上面的参数。我主要使用web api,所以我会将一个对象粘贴到http请求体中。你是说传递多个GUI?只需将其声明为数组,如中所示。还是说不同的参数名?只需将它们作为可空参数添加到方法中,并使用
Where
chaining.@stephen.vakil我需要多个参数,如果客户端传入一个空参数,我的Where将如何工作?我如何以条件方式链接where's(条件取决于是否提供了参数)
[HttpGet]
[Route("{someGuid:guid}")]
public HttpResponseMessage Get([FromUri] Guid? someGuid, [FromUri] int someInt)
{
    var responseData = _someService.RecordSet.AsQueryable(); // or some base query or equivalent
    if (someGuid.HasValue)
    {
       responseData = responseData.Where(x=>x.guid == someGuid);
    }

    if (someInt.HasValue)
    {
       responseData = responseData.Where(x=>x.int == someInt);
    }

    return Request.ResponseMessageFromApiEntity(responseData);
}