zoukankan      html  css  js  c++  java
  • 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;
            }
  • 相关阅读:
    Bzoj3555: [Ctsc2014]企鹅QQ
    Bzoj4259: 残缺的字符串
    CF528D Fuzzy Search
    Bzoj2738: 矩阵乘法
    Bzoj3309: DZY Loves Math
    Bzoj4540: [Hnoi2016]序列
    Bzoj2329: [HNOI2011]括号修复
    Bzoj1923: [Sdoi2010]外星千足虫
    Bzoj4004: [JLOI2015]装备购买
    Bzoj1951: [Sdoi2010]古代猪文
  • 原文地址:https://www.cnblogs.com/xiaoerlang90/p/5420030.html
Copyright © 2011-2022 走看看