带有集合的张贴对象不会绑定到http正文内容

本文关键字:绑定 http 正文 集合 张贴 对象 | 更新日期: 2023-09-27 18:12:07

我正在做一个http put方法到服务器发送一个对象与一个列表的瞳孔分数。

testd是绑定的,但是studentsscores集合是空的。

我也尝试过[FromBody],但这应该是默认的我假设做post/put。

那么为什么我的瞳孔分数集合是空的?

     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();
}

带有集合的张贴对象不会绑定到http正文内容

您还需要指定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(....)