0
Ich mache einen Beitrag zu einem API und aus welchem Grund auch immer ich einen Nullwert bekomme Ich benutze Angular2, um den api-Dienst zu nennen, im [FromBody] und nicht sicher warum. Ich habe folgendeFromBody ist null
Komponente
fileInfo: IFile;//this is an interface
this.fileInfo = {
FileID:1000,
LinkTabID: 1,
FileName: 'Test',
FileDisplayName: 'test',
IsActive: true,
CreatedBy: 'mike',
UpdatedBy:'mike'
}
this._tabService.AddFile(this.fileInfo)
.subscribe(
data => {
this.tabControls = data;
},
error => this.errorMessage = <any>error);
Dienst
AddFile(fileInfo: IFile){
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this._http.post(this._fileUploadAPI + 'InsertFile' , { fileInfo }, options)
.map((response: Response) => response.json())
.catch(this.handleError);
}
in meinem Fiedler sehe ich die Rohdaten
WebAPI
public HttpResponseMessage InsertFile([FromBody] FileModel value)
{
try
{
// sp_GetFileResult fileEntry = _modelFactory.Parse(value);
if (fileEntry == null)
return Request.CreateResponse(HttpStatusCode.BadRequest, "Could not read file entry in the body");
else
{
some logic
}
}
catch (Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex);
}
}
*********** AUCH VERSUCHT ************************************ *****
AddFile(fileInfo: IFile){
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this._http.post(this._fileUploadAPI + 'InsertFile', { value: fileInfo }, options)
.map((response: Response) => response.json())
.catch(this.handleError);
}
bekam den gleichen Fehler
FileModel
public class FileModel
{
public int FileID { get; set; }
public int LinkTabID { get; set; }
public string FileName { get; set; }
public string FileDisplayName { get; set; }
public bool IsActive { get; set; }
public string CreatedBy { get; set; }
public string UpdatedBy { get; set; }
}
was ist die Struktur der FileModel? – pixelbits
Ich vermute, dass die verschachtelten inneren Objekte von "Wert" und "fileInfo" hervorheben, dass es nur eine einzige Schnittstelle ist, versuchen Sie, diese inneren Objekte zu entfernen und nur die Eigenschaften direkt zu veröffentlichen. – Mig
entfernte die inneren Objekte und bekam immer noch das, gleiche Ergebnis – rgoal