पर सी # ऑब्जेक्ट भेजना मैं एक वेब एपीआई नियंत्रक को सी # ऑब्जेक्ट पास करने का प्रयास कर रहा हूं। एपीआई को उस प्रकार के उत्पाद को स्टोर करने के लिए कॉन्फ़िगर किया गया है जो इसे पोस्ट किया गया है। मैंने Jquery Ajax विधि का उपयोग करके सफलतापूर्वक ऑब्जेक्ट्स जोड़े हैं और अब मैं सी # में एक ही परिणाम प्राप्त करने की कोशिश कर रहा हूं।वेबपै नियंत्रक
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
}
static void Main(string[] args)
{
string apiUrl = @"http://localhost:3393/api/products";
var client = new HttpClient();
client.PostAsJsonAsync<Product>(apiUrl, new Product() { Id = 2, Name = "Jeans", Price = 200, Category = "Clothing" });
}
postproduct विधि लागू नहीं किया जाता है, कैसे नियंत्रक को यह वस्तु भेजने के लिए:
मैं एक साधारण कंसोल आवेदन api के लिए एक पोस्ट अनुरोध भेजने के लिए बना लिया है?
विधि आइटम जोड़ने के लिए प्रयोग किया है: जैसे आप किसी भी तरह पोस्ट करने के लिए प्रारूप के रूप में JSON को स्वीकार करने को निष्क्रिय कर दिया
public HttpResponseMessage PostProduct([FromBody]Product item)
{
item = repository.Add(item);
var response = Request.CreateResponse<Product>(HttpStatusCode.Created, item);
string uri = Url.Link("DefaultApi", new { id = item.Id });
response.Headers.Location = new Uri(uri);
return response;
}
आपका कोड ठीक लगता है, आप फिडलर में क्या देखते हैं? क्या आपने सर्वर पर वेबपी ट्रेसिंग सक्षम की है? –
मैं उन अनुरोधों को देख सकता हूं जो एक फॉर्म से उत्पन्न हैं जिसका उपयोग मैं कर रहा हूं HttpClient द्वारा भेजे गए कोई अनुरोध फिडलर में दिखाई नहीं दे रहे हैं। मैंने एपीआई को भी अपलोड किया है: http://producttestapi.azurewebsites.net/api/products लेकिन HttpClient से अनुरोधों में से कोई भी एपीआई तक पहुंच नहीं है। – neo112
भी, उस यूआरएल के index.html की जांच करें, यह वह फॉर्म है जिसका उपयोग मैं AJAX के माध्यम से ऑब्जेक्ट भेजने के लिए करता हूं, जो कोई काम करता है, इसलिए एपीआई ठीक है। – neo112