ich einen Web-Api habe Modell enthält -C# Web-API POST JSON-Daten POSTMAN Client führt immer NULL in FromBody mit
public class Assessments
{
public List<AssessmentResult> Results { get; set; }
}
public class AssessmentResult
{
public int? AssessorId { get; set; }
public int? AssessmentId { get; set; }
public int? CentreId { get; set; }
public int? BatchId { get; set; }
public DateTime AssessmentDate { get; set; }
und die Controller -
[HttpPost]
[ActionName("SetAssessmentResults")]
public HttpResponseMessage SetAssessmentResults([FromBody] Assessments assessments)
{
try
{
string sproc = ConfigurationManager.AppSettings["ASSESSORAPP_InsertAssessmentsStaging"];
//_dt = Helper.ToDataTable(assessments); use this if sending list doesnt work
Mapper.Initialize(cfg =>
{
//cfg.CreateMissingTypeMaps = false;
cfg.CreateMap<AssessmentResult, AssessmentTable>().IgnoreAllNonExisting();
//cfg.IgnoreUnmapped();
});
List<AssessmentTable> assessmentTable = Mapper.Map<List<AssessmentResult>, List<AssessmentTable>>(assessments.Results);
Mapper.Configuration.AssertConfigurationIsValid();
string isSuccess = _db.InsertAssessmentResults(sproc, assessmentTable);
if (isSuccess.Split('$')[0].ToLower() == "success")
{
return Request.CreateResponse(HttpStatusCode.OK, isSuccess);
}
else if (isSuccess.Split('$')[0].ToLower() == "duplicate")
{
return Request.CreateResponse(HttpStatusCode.OK, isSuccess);
}
else
{
return Request.CreateResponse(HttpStatusCode.OK, isSuccess);
}
}
catch (Exception ex)
{
return Request.CreateResponse(HttpStatusCode.InternalServerError, ex);
}
}
Client-Seite, ich bin mit Postbote Chrome Erweiterung. Ich sende POST-Anfrage mit JSON-Daten in Körper. Allerdings bin ich nicht die JSON-Daten in der Steuerung immer (Einschätzungen Objekt immer NULL-Wert zeigt)
assessments object showing NULL value
In Client-Seite, ich bin Anfrage mit PostMan Chrome-Erweiterung
PostMan Client sending request
Dies sind meine JSON-Daten:
{
"assessment":
[{
"AssessorId": 3,
"AssessmentId": 123,
"CentreId": 1,
"BatchId": null,
"AssessmentDate": "2016-09-30T00:00:00",
},{
"AssessorId": 2,
"AssessmentId": 123,
"CentreId": 1,
"BatchId": null,
"AssessmentDate": "2016-09-30T00:00:00",
}]
}
Ich habe auch hinzugefügt Content-Type: application/json
Bitte helfen Sie mir, dieses Problem zu lösen. Vielen Dank !
Umbenennungs '„Bewertung“' auf '„Ergebnisse“' in Ihrem json – Corporalis
Achten Sie darauf, den Namen Ihres Eigenschaften in JSON sind identisch mit Ihrer C# -Modellklasse. –
Es hat funktioniert ..... Vielen Dank sooooo viel :) – user2781550