Web API和OData-传递多个参数

 U友50096631 发布于 2023-01-05 22:06

是否有可能让OData执行以下操作?我希望能够通过传递可能不是主键的参数来查询REST调用.我可以调用REST方法,如 - > GetReports(22, 2014)Reports(22, 2014)

[HttpGet]
[ODataRoute("Reports(Id={Id}, Year={Year})")]
public IHttpActionResult GetReports([FromODataUri]int Id, [FromODataUri]int Year)
{
    return Ok(_reportsRepository.GetReports(Id, Year));
}

这是我的最新变化.

  //Unbound Action  OData v3
       var action = builder.Action("ListReports");
        action.Parameter("key");
        action.Parameter("year");
        action.ReturnsCollectionFromEntitySet("Reports");

我的控制器ReportsController的方法

[HttpPost]
            [EnableQuery]
             public IHttpActionResult ListReports([FromODataUri] int key, ODataActionParameters parameters)

            {

                if (!ModelState.IsValid)
                {
                    throw new HttpResponseException(HttpStatusCode.BadRequest);
                }


                int year = (int)parameters["year"];
                return Ok(_reportsRepository.GetReports(key, year).Single());

            }

我试着像这样调用网址:

 http://localhost:6064/odata/Reports(key=5,year=2014)/ListReports

没有找到与请求http://localhost:6064/odata/Reports(key%3D5%2Cyear%3D2014)/ListReports'URI'.` 匹配的HTTP资源

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有