美文网首页工作生活
WebApi 实体集合作为参数进行Post传值问题

WebApi 实体集合作为参数进行Post传值问题

作者: 醉酒的姑娘 | 来源:发表于2019-07-03 11:09 被阅读0次

    实体集合作为参数传递到后台接口,后台接口一直获取不到参数

    前端Ajax请求api接口

    resultList作为实体集合,对应实体类为CoverIncludeDto

    var resultList=[
    {ImageId: "5cc0060eccb56d2448a31a21", ImageUrl: "024649695.jpg", CoverId: "5d1aee066b657c355442b227"},
    {ImageId: "5cc0060eccb56d2448a31a20", ImageUrl: "023183289.jpg", CoverId: "5d1aee066b657c355442b227"},
    {ImageId: "5cc0060dccb56d2448a31a1f", ImageUrl: "022852842.jpg", CoverId: "5d1aee066b657c355442b227"}]
    
    $.ajax({
        url: apiUrl + "/api/SystemSetting/Album/AlbumInfo/AddImgToCover",
        type: "post",
        contentType: 'application/json',
        data: JSON.stringify(resultList),
        success: function (data) {
          
        }
    })
    

    实体类CoverIncludeDto

    字段_id为自增列

    public class CoverIncludeDto
    {
        public string _id { get; set; }
        /// <summary>
        /// 专辑ID:本图片隶属哪个专辑。
        /// </summary>
        public string CoverId { get; set; }
        /// <summary>
        /// 专辑图片ID
        /// </summary>
        public string ImageId { get; set; }
        /// <summary>
        /// 专辑图片存储地址(URL)
        /// </summary>
        public string ImageUrl { get; set; }
    }
    

    后台接口接收不到前端传递的参数

    参数request获取不到数据


    image.png

    解决方法:

    1.在参数前面添加([FromBody]

        [HttpPost]
        [Route("AddImgToCover")]
        public async Task<IActionResult> AddImgToCover([FromBody]List<CoverIncludeDto> request)
        {
        }
    

    2.直接读取请求的body,从流里面获取参数

        [HttpPost]
        [Route("AddImgToCover")]
        public async Task<IActionResult> AddImgToCover(List<CoverIncludeDto> request)
        {
            using (var reader = new System.IO.StreamReader(Request.Body))
            {
                var str = reader.ReadToEnd();
    
                request = Newtonsoft.Json.JsonConvert.DeserializeObject<List<CoverIncludeDto>>(str);
            }
        }
    

    相关文章

      网友评论

        本文标题:WebApi 实体集合作为参数进行Post传值问题

        本文链接:https://www.haomeiwen.com/subject/zrtqhctx.html