0
使用以下控制器方法擁有一個ASP.Net Core完整框架WebApi控制器。Javascript將POST JSON添加到WebAPI2 C#
[HttpPost("{id}/json")]
public async Task<ILibraryModel> PostFromBody(int id, [FromBody]LibraryFilterOrder stuff, int pageSize, int pageNumber = 1)
{
return await DoStuff(id, stuff, pageSize, pageNumber);
}
它正在採用以下定義的LibraryFilterOrder模型。使用JavaScript的使用打字稿
fetch(`/api/Library/${pageIndex}/json?pageSize=${pageSize}&pageNumber=${pageNumber}`, {
method: "POST",
headers: {
'Content-Type': 'application/json; charset=utf-8'
},
body: JSON.stringify({ stuff: { filters: filters, orders : orders } })
})
.then(response => response.json() as Promise<LibraryModel>)
.then(data => {
//DO stuff
});
的Chrome瀏覽器開發工具提取API
public class LibraryFilterOrder
{
public List<ContainerView.ContainerFilterType> Filters { get; set; }
public List<ContainerView.ContainerOrderType> Orders { get; set; }
}
public class ContainerFilterType
{
public string ColumnPrefix { get; set; }
public string ColumnName { get; set; }
public string FilterValue { get; set; }
}
public class ContainerOrderType
{
public string ColumnPrefix { get; set; }
public string ColumnName { get; set; }
public bool SortAscending { get; set; }
public int SequenceId { get; set; }
}
上午提供以下功能: 與所有的在控制器中的東西變量未來通過與2個屬性空值。
任何與此有關的幫助將不勝感激,在最後一天拉我的頭髮或試圖解決問題,已將[FromBody]
標籤取消參數,並且仍然爲空。
感謝羅馬,用得好好的,會接受它,當到達5分鐘大關,這樣的蠢事。 .. –
@ BenTemple-Heald,不客氣 –