C# Post传值到后台经典场景

经典场景 传输内容包含 文件

注意事项:类型必须为form-data

        [HttpPost]
        [Route("api/Test")]
        public JsonResult Test(string courieredNo,  IFormFile tfile)
        {
            return Json(null);
        }

 

 

经典场景 传输内容包含 列表

注意事项:

1、前台传递的列表参数test[]  必须和后台接收的 参数 test 一致

2、前台参数需要通过test[].属性 数据格式赋值,如果非数组参数则不需要

       [Logging]
        [HttpPost]
        [Route("api/Test")]
        public JsonResult Test(List<TestPost> test,  IFormFile tfile)
        {
            return Json(test);
        }

        public class TestPost
        {
          public string courieredNo { get; set; }
          public IFormFile file { get; set; }
           
        }

 

 

经典场景 传输内容包含 文件、列表

注意事项:如果时对象的列表参数,需要 在前端也定义相关的 列表格式  如下面实例中的 test.p[].属性

传输设置

后台对象定义

        [HttpPost]
        [Route("api/Test")]
        public JsonResult Test(TestPost test)
        {
            return Json(test);
        }

        public class TestPost
        {
          public string courieredNo { get; set; }
            public IFormFile file { get; set; }
            public List<P> p { get; set; }
            public class P
            {
                public int age { get; set; }
            }
        }

 注意:对于POST 类型的请求,如果是postman 传值,出现415 错误,检查前台传输的类型和后台接受是否一致。  比如 form-data 对应的应该是[FromForm] ,webapi 如果接受参数没有特性,默认就是[FromBody],

 

 

或者通过 raw,已json的形式传输。

posted @ 2019-03-28 12:10  FengLu-1  阅读(1077)  评论(0编辑  收藏  举报