我在我的MVC5项目解决方案中有一个WebAPI控制器。
该WebAPI具有一种方法,返回特定文件夹中的所有文件作为Json列表:
[{"name":"file1.zip", "path":"c:\\"}, {...}]
从我的HomeController中,我想调用此方法,将Json响应转换为List<QDocument>
,并将此列表返回到Razor视图。如果文件夹中没有文件,这个列表可能是空的:[]
。
这是APIController:
public class DocumentsController : ApiController
{
#region Methods
/// <summary>
/// Get all files in the repository as Json.
/// </summary>
/// <returns>Json representation of QDocumentRecord.</returns>
public HttpResponseMessage GetAllRecords()
{
// All code to find the files are here and is working perfectly...
return new HttpResponseMessage()
{
Content = new StringContent(JsonConvert.SerializeObject(listOfFiles), Encoding.UTF8, "application/json")
};
}
}
这是我的HomeController:
public class HomeController : Controller
{
public Index()
{
// I want to call APi GetAllFiles and put the result to variable:
var files = JsonConvert.DeserializeObject<List<QDocumentRecord>>(API return Json);
}
}
最后,如果你需要的话,这就是模型:
public class QDocumentRecord
{
public string id {get; set;}
public string path {get; set;}
.....
}
那我该如何进行这个调用呢?