WebAPI yöntemini bulur umut:
public IHttpActionResult PurchaseOrders([FromUri]string parameters)
{
var criteria = new JavaScriptSerializer().Deserialize<PurchaseOrderManager.Criteria>(parameters);
var result = PurchaseOrderManager.PurchaseOrderSummary(criteria);
return Content(HttpStatusCode.OK, result);
}
servisi arayarak müşteri yöntemi ...
private static async Task<List<PurchaseOrderListModel>> GetPendingPurchaseOrdersByUser(string token, UserModel userModel)
{
var service = ConfigurationManager.AppSettings["service:address"];
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(service);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
var content = new StringContent(JsonConvert.SerializeObject(new
{
Filter = "PENDING",
RequestType = "REQUEST"
}), Encoding.UTF8, "application/json");
var paramsValue = content.ReadAsStringAsync().Result;
HttpResponseMessage response = await client.GetAsync($"purchaseorders/purchaseorders?parameters={paramsValue}");
if (response.IsSuccessStatusCode)
{
var purchaseOrders = response.Content.ReadAsAsync<List<PurchaseOrderListModel>>().Result;
//do work....
//return some value
}
}
return null;
}
Şahsen ben bunu yapmaz. Neden sadece "PurchaseOrderManager.Criteria" cihazını denetleyici işleminizde değil, aynı zamanda public IHttpActionResult PurchaseOrders ([FromUri] PurchaseOrderManager.Criteria parameters) 'kullanıyorsunuz? Paylaştığınız için teşekkürler, ancak bu yaklaşımı gerçekten uygulayan herkesi tavsiye etmem. –
Kısacası, sunulmakta olan konu hizmetin uygulama ayrıntılarıyla ilgili değildi, bir tanesi HttpClient API'sinden nasıl iletişim kuruyordu, o kadar net olmadığından dolayı özür dilerim – BDarley
Sorgulama kriterlerinizi neden kaynak URL’de belirtmek mümkün değil? sorgu dizesi 'PurchaseOrderManager.Criteria' ne kadar karmaşık? Soruyu 'PurchaseOrderManager.Criteria' için kaynak listesiyle güncelleştirmek mümkün mü? –