我正在尝试在我的 POST
中实现一个 HomeController
请求。这是POST请求方法的代码:
[HttpPost]
public Tutoring AddTutoring(TutoringDTO tutoringToAdd)
{
Console.WriteLine("FilteredStudents");
Tutoring tutoring = new Tutoring
{
StudentId = tutoringToAdd.StudentId, //with 1 f.e. working
Schulstufe = tutoringToAdd.Schulstufe, //with 2 f.e. working
SubjectId = tutoringToAdd.SubjectId, //with 3 f.e. working
};
db.Tutorings.Add(tutoring);
db.SaveChanges();
return tutoring;
}
如果我用常量值替换 StudentId
、Schulstufe
和 SubjectId
,它会起作用。
这是TutoringDTO
:
public class TutoringDTO
{
public int Schulstufe { get; set; }
public int? StudentId { get; set; }
public int? SubjectId { get; set; }
}
这是我的 DbLib 中的 Tutorings
类:
using System;
using System.Collections.Generic;
#nullable disable
namespace AjaxTutoringsDb
{
public partial class Tutoring
{
public int Id { get; set; }
public int Schulstufe { get; set; }
public int? StudentId { get; set; }
public int? SubjectId { get; set; }
public virtual Student Student { get; set; }
public virtual Subject Subject { get; set; }
}
}
这是 Postman 中的请求正文:
{ "studentId": "6", "subjectId": "1", "schulstufe": "1" }
这是 Postman 的响应体:
{
"id": 136,
"schulstufe": 0,
"studentId": null,
"subjectId": null,
"student": null, //this doesn't matter
"subject": null //this doesn't matter
}
总而言之,问题是如果我向服务器发送动态值,我总是在响应正文中得到 null,并且我发送到服务器的数据没有正确存储。