আমার একটি কাস্টম জটিল ধরণ রয়েছে যা আমি ওয়েব এপিআই ব্যবহার করে কাজ করতে চাই।
public class Widget
{
public int ID { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
এবং এখানে আমার ওয়েব এপিআই নিয়ন্ত্রণকারী পদ্ধতি। আমি এই বিষয়টির মতো পোস্ট করতে চাই:
public class TestController : ApiController
{
// POST /api/test
public HttpResponseMessage<Widget> Post(Widget widget)
{
widget.ID = 1; // hardcoded for now. TODO: Save to db and return newly created ID
var response = new HttpResponseMessage<Widget>(widget, HttpStatusCode.Created);
response.Headers.Location = new Uri(Request.RequestUri, "/api/test/" + widget.ID.ToString());
return response;
}
}
এবং এখন আমি System.Net.HttpClient
পদ্ধতিতে কল করতে ব্যবহার করতে চাই । তবে PostAsync
পদ্ধতিতে কোন ধরণের অবজেক্টটি পাস করতে হবে এবং কীভাবে এটি নির্মাণ করা যায় সে সম্পর্কে আমি নিশ্চিত নই । এখানে কিছু নমুনা ক্লায়েন্ট কোড।
var client = new HttpClient();
HttpContent content = new StringContent("???"); // how do I construct the Widget to post?
client.PostAsync("http://localhost:44268/api/test", content).ContinueWith(
(postTask) =>
{
postTask.Result.EnsureSuccessStatusCode();
});
HttpContent
ওয়েব এপিআই এটি বুঝতে পারে এমনভাবে কীভাবে আমি বস্তুটি তৈরি করব?