WebAPI Post类型传参报错“找不到与该请求匹配的操作”


错误内容:

Message=未找到与请求 URI“http://localhost:42914/api/Products/Login”匹配的 HTTP 资源。

MessageDetail=在控制器“Products”上找不到与该请求匹配的操作。

原因:

Post类型只能传递一个参数,且只能从Body中获取(加[FromBody]前缀)。

解决方案:

多个参数传递时需要放到实体类中,利用实体类获取传递过来的参数。

例:分页查询产品信息

实体类:

 public class ProductsPage
    {
        public int PageIndex { get; set; }

        public int PageSize { get; set; }

        public string strWhere { get; set; }

        public int TotalCount { get; set; }
        public List<ProductStore.Models.Product> ProductList { get; set; }
    }

接口方法:

public ProductsPage PostAllProductsByPage([FromBody]ProductsPage model)
        {
            model.ProductList = new List<Product>();
            model.ProductList = repository.GetAllByPage(model.strWhere, model.PageIndex, model.PageSize).ToList();
            model.TotalCount = repository.GetTotalCount(model.strWhere);
            model.PageIndex = model.PageIndex;
            model.PageSize = model.PageSize;
            return model;
        }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM