Потребление api в ASP.NET MVC 5
Привет всем,
Добрый день!
У меня возникла проблема с PutAsJsonAsync и PostAsJsonAsync при использовании REST api: "http://afs-test-redis99.afservice.org:8080/site/"
Операции: положить
Имя: addItem
Путь: / api / cart / {id} / item
Запрос: тип магазина
Параметры: товар, количество, ключ
Тело запроса: AnyObject(необязательно)
Пример: в моем почтальоне он работает правильно, когда я пытаюсь поставить/добавить новый элемент:
"http://afs-test-redis99.afservice.org:8080/site/api/cart/51/item?item=COM1&store=PCM&type=active&quantity=5"
Но когда я попытался реализовать это в своем классе репозитория mvc
public async Task<Uri> SaveItemAsync(Item item) { client.BaseAddress = new Uri("http://afs-test-redis99.afservice.org:8080/site/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue( "application/json")); HttpResponseMessage response = await client.PutAsJsonAsync($"api/cart/{item.ID}/item?",$"item={item.ProductID}&store=PCM&type=active&{item.Quantity}"); response.EnsureSuccessStatusCode(); // return URI of the created resource. return response.Headers.Location; }
Погрешность результата:
{StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: { Connection: close Date: Tue, 13 Jun 2017 00:23:21 GMT Server: Apache-Coyote/1.1 Content-Length: 1062 Content-Language: en Content-Type: text/html; charset=utf-8 }}
Кто-нибудь может помочь мне, что не так в моем коде, извините, что я новичок в использовании веб-api в моем клиентском приложении. Заранее большое вам спасибо.
Что я уже пробовал:
Он правильно работает в почтальоне:
"http://afs-test-redis99.afservice.org:8080/site/api/cart/51/item?item=COM1&store=PCM&type=active&quantity=5" But when I tried to implement this in my mvc repository class (c#) public async Task<Uri> SaveItemAsync(Item item) { client.BaseAddress = new Uri("http://afs-test-redis99.afservice.org:8080/site/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue( "application/json")); HttpResponseMessage response = await client.PutAsJsonAsync($"api/cart/{item.ID}/item?",$"item={item.ProductID}&store=PCM&type=active&{item.Quantity}"); response.EnsureSuccessStatusCode(); // return URI of the created resource. return response.Headers.Location; }
Silver Lightning
кто-нибудь знает, как использовать этот api с несколькими параметрами? Заранее спасибо