में दो पैरामीटर के साथ विधि एएसपी.NET वेब एपीआई का उपयोग करके मैं दो पैरामीटर के साथ विधि कैसे बना सकता हूं?एएसपीनेट वेब एपीआई
ताकि मैं इसे स्थानीय होस्ट की तरह कॉल कर सकते हैं/नियंत्रक/param1/param2
में दो पैरामीटर के साथ विधि एएसपी.NET वेब एपीआई का उपयोग करके मैं दो पैरामीटर के साथ विधि कैसे बना सकता हूं?एएसपीनेट वेब एपीआई
ताकि मैं इसे स्थानीय होस्ट की तरह कॉल कर सकते हैं/नियंत्रक/param1/param2
बस बदलने के लिए या Global.asax में रूट जोड़ें
routes.MapHttpRoute(name: "DefaultApi1", routeTemplate: "api/{controller}/{id}/{name}", Defaults: new{});
तुम भी में विशिष्ट पैरामीटर नाम के साथ यूआरएल कॉल कर सकते हैं क्वेरी स्ट्रिंग:
/api/actions?param1=5¶m2=1/1/2000
फिर नियंत्रक तरीका होगा:
GetByParams(int param1, DateTime param2)
मुझे लगता है कि सबसे आसान तरीका केवल AttributeRouting
का उपयोग करना है।
[Route("api/YOURCONTROLLER/{paramOne}/{paramTwo}")]
public string Get(int paramOne, int paramTwo) {
return "The [Route] with multiple params worked";
}
{}
नामों को आपके पैरामीटर से मिलान करने की आवश्यकता है।
यह मेरे लिए काम किया! धन्यवाद। –
मैन मैंने इस 1000 बार इस्तेमाल किया, और हमेशा सोचा कि यह एक "हैक" जैसा था और बेहतर तरीका है। ऐसा लगता है कि यह वास्तव में सबसे अच्छा अभ्यास है .. – Kadaj
यह बेहतर जवाब है। स्वीकृत उत्तर काम करता है, लेकिन यूआरएल ज्यादा समझ में नहीं आता है।/id/name यूआरएल के लिए इस तरह कुछ काम करता है: http: //www.mysite/api/DoStuff/12345/Vince। यह ज्यादा समझ में नहीं आता है। "विन्स" की तरह "12345" श्रेणी में कुछ आइटम है। http: //www.mysite/api/users/Vince बहुत अधिक समझ में आता है या http: //www.mysite/api/users? name = विन्स और आईडी = 12345 – vbullinger
ग्रेट उत्तर। वास्तव में मैं क्या चाहता था। –
क्या आप GetByParams विधि के बारे में आधिकारिक विवरण के लिए एक लिंक प्रदान करते हैं? मैं इसे ढूंढने में सक्षम नहीं हूं। मैंने इसका परीक्षण किया है, हालांकि, और जैसा कि आपने वर्णन किया है, यह काम करता है। – galmok