मेरे पास मेरे एमवीसी 5 प्रोजेक्ट समाधान के भीतर एक वेबएपीआई नियंत्रक है। वेबएपीआई एक तरीका है जिसके एक JSON सूची के रूप में एक विशिष्ट फ़ोल्डर में सभी फ़ाइलें देता है:एमवीसी नियंत्रक से कॉलिंग वेब एपीआई
[{"name":"file1.zip", "path":"c:\\"}, {...}]
मेरी HomeController से मैं, इस विधि फोन List<QDocument>
को Json प्रतिक्रिया बदलने और एक के लिए इस सूची वापस करना चाहते रेजर देखें। यह सूची खाली हो सकती है: []
यदि फ़ोल्डर में कोई फ़ाइल नहीं है।
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 है:
यह APIController है
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;}
.....
}
तो मैं कैसे कर सकते हैं यह कॉल करें?
क्यों आप इसे किसी अन्य विधि के रूप में कॉल नहीं करते MVC नियंत्रक से एक ही कॉल कर सकते हैं? संदर्भ जोड़ें, विधि को शुरू करें और कॉल करें ... – Kaf
बस अपने एपीकंट्रोलर में जेसनकॉन्टर का उपयोग करने पर एक हेड-अप ... इसे स्वचालित रूप से करना प्रमुख सुविधाओं में से एक है WebAPI, – spender