Ich habe eine sehr einfache Web API 4-Controller über einige ältere Datenbank-Code. Das Unternehmen wie wie folgt aus:Parameter für POST Web API 4 Methode null, wenn von Fiddler mit JSON-Body aufgerufen
public class Employee
{
public string EmploymentStatus { get; set; }
public string CompanyCode { get; set; }
public string Division { get; set; }
public string OrgLevel1Code { get; set; }
public string OrgLevel2Code { get; set; }
public string OrgLevel3 { get; set; }
public string StoreName { get; set; }
public string EmployeeNumber { get; set; }
public string EmployeeFirstName { get; set; }
public string EmployeeMiddleInitial { get; set; }
public string EmployeeLastName { get; set; }
public string EmailAddress { get; set; }
public string JobCode { get; set; }
public string DateInJob { get; set; }
public string OriginalHire { get; set; }
}
Das Verfahren sieht wie folgt aus:
public HttpResponseMessage PostEmployee(Employee item)
{
DataHelpers.AddUser(item.CompanyCode, item.Division, item.OrgLevel1Code, item.OrgLevel2Code, item.OrgLevel3, item.EmployeeFirstName, item.EmployeeMiddleInitial, item.EmployeeLastName, item.EmailAddress, item.JobCode, item.OriginalHire);
var response = Request.CreateResponse<Employee>(HttpStatusCode.Created, item);
string uri = Url.Link("DefaultApi", new { id = item.EmployeeNumber });
response.Headers.Location = new Uri(uri);
return response;
}
Wenn ich durch Fiddler POST wie folgt aus:
POST /api/identity HTTP/1.1
User-Agent: Fiddler
Host: localhost:1421
Content-Length: 382
contentType: "application/json; charset=utf-8"
dataType: 'json'
{
"employmentStatus":"zzz",
"companyCode":"Titlemax",
"division":"bbb",
"orgLevel1Code":"ccc",
"orgLevel2Code":"ddd",
"orgLevel3":"eee",
"storeName":"fff",
"employeeNumber":"12343",
"employeeFirstName":"Bill",
"employeeMiddleInitial":"A",
"employeeLastName":"sempf",
"emailAddress":"[email protected]",
"jobCode":"GM",
"dateInJob":"8/7/2005",
"originalHire":"8/7/2005"
}
Ich erhalte eine Ausnahme von .NET und die item-Parameter ist null.
{"Message":"An error has occurred.","ExceptionMessage":"Object reference not set to an instance of an object.","ExceptionType":"System.NullReferenceException"}
Was fehlt mir? Ich bin neu in der Web-API. Danke im Voraus.
Sie in Ihrer Methode debuggen könnte 'PostEmployee' sehen diese Ausnahme, die Code-Zeile werfen? –
Der Elementparameter ist null. Die Ausnahme tritt also auf, wenn ich darauf referenziere. –