首页 新闻 会员 周边

请教一个WebAPI POST多条数据的问题

0
[已解决问题] 解决于 2017-03-01 09:34

我加了[FromBody]也是一样,提交的数据为五条,能显示5,但是值怎么也出不来,下面是JS脚本,如果是提交一条数据是没有问题的,多条,一直为NULL,很疑惑,现在用inputSteam解决的,但是提交数据多的话,会报流XX前读取已经关闭的XX之类的信息。

西丑扒黄的主页 西丑扒黄 | 初学一级 | 园豆:168
提问于:2017-02-28 10:02
< >
分享
最佳答案
0

1.看报文.你是不是把json字符串转json了.(前后有双引号)

2.把数组房一个对象的里当字段比如{array:list},再传

基本上是第一个原因.检查报文吧

奖励园豆:5
吴瑞祥 | 高人七级 |园豆:29449 | 2017-02-28 11:17

字符串是对的,放数组里,我试试。

西丑扒黄 | 园豆:168 (初学一级) | 2017-02-28 11:32

@冷諾寒: 你这样当然是对的.

我是说看报文.看报文..看报文啊..

吴瑞祥 | 园豆:29449 (高人七级) | 2017-02-28 12:16
其他回答(2)
0

你把代码全放出来看看

MrNice | 园豆:3450 (老鸟四级) | 2017-02-28 10:17

API

 [HttpPost]
        public IHttpActionResult BatchInsert([FromBody]List<Models.BuyerRegist> list)
        {
            var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap<Models.BuyerRegist, BuyerRegist>();
            });
            var mapper = config.CreateMapper();
            var convertList = mapper.Map<List<BuyerRegist>>(list);
            Repository.BatchInsert(convertList);
            return MessageHelper.Message(true, "供应商信息添加成功。", convertList.Count);
        }

JS:

function batchSave() {
        var userList = [
                        { SupplierCode: "0101", SupplierName: "User A", LinkMan: "李小明1", Remark: "批量测试" },
                        { SupplierCode: "0102", SupplierName: "User A", LinkMan: "李小明2", Remark: "批量测试" },
                        { SupplierCode: "0103", SupplierName: "User A", LinkMan: "李小明3", Remark: "批量测试" },
                        { SupplierCode: "0104", SupplierName: "User A", LinkMan: "李小明4", Remark: "批量测试" },
                        { SupplierCode: "0105", SupplierName: "User A", LinkMan: "李小明5", Remark: "批量测试" }
        ];
        $.ajax({
            type: 'POST',
            url: 'http://localhost:13443/api/SupplierRegist/BatchInsert',
            contentType: 'application/json',
            data: JSON.stringify(userList)
        }).success(function (result) {
            debugger;
            var m = result;
            alert(m);
        }).error(function (data) {
            alert(data);
        });
    }

 

支持(0) 反对(0) 西丑扒黄 | 园豆:168 (初学一级) | 2017-02-28 11:08

@冷諾寒: 你可以把你这测试代码打包发给我看看,我在本地自己新建的项目没有你这问题,我只能看看你的项目了,你可以直接发我邮箱renyi.h@qq.com

支持(0) 反对(0) MrNice | 园豆:3450 (老鸟四级) | 2017-02-28 12:19

 如果你方便,可以把你的发我邮箱一份,你新建的应该没有影响。

admin@wyjava.com 我这是两个不同的项目。

支持(0) 反对(0) 西丑扒黄 | 园豆:168 (初学一级) | 2017-02-28 13:40
0

谢谢大家的回复,经过我一天的调式,发现是我们框架的问题,我自己实现 Modelbinder就解决了问题了,非常感谢大家的热情回复。

西丑扒黄 | 园豆:168 (初学一级) | 2017-03-01 09:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册