c# – 2个参数中的一个返回null
发布时间:2020-12-15 22:47:37 所属栏目:百科 来源:网络整理
导读:我正在使用MVC.当我运行调试器并使用Postman进行测试并将鼠标悬停在参数上时,它显示参数传递给MovieIds的空值,但CustomerId正在按预期工作. Api Controller:newRental在调试时将MovieIds显示为null public class NewRentalsController : ApiController{ pri
我正在使用MVC.当我运行调试器并使用Postman进行测试并将鼠标悬停在参数上时,它显示参数传递给MovieIds的空值,但CustomerId正在按预期工作.
Api Controller:newRental在调试时将MovieIds显示为null public class NewRentalsController : ApiController { private ApplicationDbContext _context; public NewRentalsController() { _context = new ApplicationDbContext(); } [HttpPost] public IHttpActionResult CreateNewRentals(NewRentalDto newRental) { var customer = _context.Customers.Single(c => c.Id == newRental.CustomerId); var movies = _context.Movies.Where(m => newRental.MovieIds.Contains(m.Id)).ToList(); //var movies = _context.Movies.Where(m => m.Id ==1); foreach (var movie in movies) { if (movie.NumberAvailable == 0) return BadRequest("Movie is not available."); movie.NumberAvailable--; var rental = new Rental { Customer = customer,Movie = movie,DateRented = DateTime.Now }; _context.Rentals.Add(rental); } _context.SaveChanges(); return Ok(); } } DTO: public class NewRentalDto { public int CustomerId { get; set; } public List<int> MovieIds { get; set; } } 邮差要求: {"customerId": 2,"movieId": 1,"dateRented": "2017-09-28T00:00:00" } 我认为这与List< int>有关.因为我可以硬编码Id,它会将它发送到数据库. 解决方法
正如你猜测的那样,问题是MovieIds是一个List< int>所以你的请求应该是这样的(使用方括号[]):
MovieIds: [1], (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- ios – 如何获取带小数的格式数字(XCode)
- C隐藏符号会增加重定位时间
- reactjs – 无法修改React DevTools for Chrome的
- Greenplum/PostgreSQL中数据表数据去重的几种方法
- C#设计模式之十七中介者模式(Mediator Pattern)
- ruby-on-rails – validates_presence_of导致aft
- ruby-on-rails – will_paginate找出我是否在最后
- 有关于Cocos2d-X的几个坑(2016.1.26)
- Cocos2d-x 3.2 大富翁游戏项目开发-第八部分 角色
- Cocos2d-x 安卓设定不休眠(屏幕常亮)
热点阅读