我正在向服务器发送一个http put方法,发送一个带有PupilsScores列表的对象。
TestId已绑定,但PupilsScores集合为空。
我也试过了[FromBody]
,但这应该是我假设做一个帖子/放置的默认值。
那么为什么我的PupilsScores集合为空?
的客户端
updateTestAssignment(pupilsScores, testId) {
return this.http.put('/api/testassignments/' + testId, { pupilsScores: pupilsScores }).map(res => res.json());
}
服务器
public class UpdateTestAssignmentRequestDto
{
public int TestId { get; set; }
public IEnumerable<PupilsScoresRequestDto> PupilsScores { get; set; }
}
[HttpPut("~/api/testassignments/{testId:int}")]
public async Task<IActionResult> Put(UpdateTestAssignmentRequestDto dto)
{
return NoContent();
}
答案 0 :(得分:0)
您还需要指定Content-Type
。其默认值为text/plain
。
import { Headers, RequestOptions } from '@angular/http';
let headers = new Headers({ 'Content-Type': 'application/json' }); // for ASP.NET MVC
let options = new RequestOptions({ headers: headers });
this.http.post(url, JSON.stringify(product), options).map(....)