美文网首页工作生活
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传值问题

    实体集合作为参数传递到后台接口,后台接口一直获取不到参数 前端Ajax请求api接口 resultList作为实体...

  • WebApi Dictionary<string, obj

    问题描述 使用WebApi编写通用服务,小程序POST调用,服务参数获取正常,页面POST调用,服务参数无法获取 ...

  • get , post 的区别

    get , post 的区别? get 利用url传参, post 用实体传参 get 参数可能被缓存, post...

  • WebApi Post参数

    利用动态数据类型参数接收json对象,并转化

  • POST与GET

    GET请求会将参数跟在URL后进行传递;POST请求则是作为HTTP消息的实体内容进行发送。 GET对传输数据大小...

  • Thymeleaf语法,使用范例

    url传参数: onclick传参数 必须按着这个写 post+form写法: 传值给js 操作对象: 时间对...

  • webapi 之 post参数传递

    最近在写webapi,在写post请求接口时遇到了不少的问题,在此记录下来。 post请求的参数和get请求有点不...

  • url中不显示参数方法之一

    url带着参数总感觉不好看,改用post传值之后就不会显示参数了。

  • php curl

    GET(URL 传参数) POST(post参数需要设置)

  • Gin-获取POST请求参数

    有默认值方式获取POST请求参数 无默认值方式获取POST请求参数 获取POST请求参数的同时,返回参数获取状态,...

网友评论

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

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