MultipartFormDataFormatter或者ApiMultipartFormDataFormatter传数组问题
介绍
好吧,在.net webapi使用这两个插件的时候,肯定是文件上传咯。
那么请求格式肯定是form-data格式。
这个时候我在用传List<decimal>数组给接口,但是我调试的时候发现整个实体参数null了。
按理说不应该,后面我又用List<string>做测试了,发现是可以的拿到参数的。可能有人会质疑我的传参方式是不是有问题
我可以很明确的表示是没有问题的,用postman调试传数组 字段名[0]
就这样。
我想是不是int、decimal等常规值类型和string类型的区别。因为int是值类型,string其实是特殊的引用类型。
后面我又想了下,插件中HttpFile这个类,那我是不是也可以像它一样的方式来传值呢
/// <summary> /// 会失败的情况 /// </summary> public class TestDto { public List<decimal> Money { get; set; } public List<HttpFile> Imgs { get; set; } }
🆗,先看看会失败的情况。
然后顺着思路去解决它
/// <summary> /// 解决方法 /// </summary> public class TestDto { public List<MoneyDto> Money { get; set; } public List<HttpFile> Imgs { get; set; } public class MoneyDto { public decimal Id { get; set; } } }
我在testDto中在创建一个类。 然后把Money类型改为 List<MoneyDto>
这样的就能解决,插件解析不了参数为null的情况。
那么改成这样该怎么用postman传参数呢。
上图。。
只需要在后面加上Id就行,如果是其他的字段就换成其他的字段。