#c# #asp.net-mvc #api #httprequest #httpresponse
#c# #asp.net-mvc #API #httprequest — запрос #httpresponse
Вопрос:
У меня возникла проблема с отображением данных из запроса Get на контроллер MVC. Я хочу получить свои данные из API Kanbanize и отобразить их в моем локальном приложении. Я получаю статус 200 OK, но когда я хочу добавить его в свой контроллер и просмотреть, что-то не так, и я не могу понять, что именно.
Это мой запрос на получение с кодом состояния 200 OK:
List<Board> boards = null;
string response = string.Empty;
var url = "https://<subdomain>.kanbanize.com/api/v2/boards/4";
var httpRequest = (HttpWebRequest)WebRequest.Create(url);
httpRequest.Method = "GET";
httpRequest.Headers.Add("apikey", "");
httpRequest.ContentType = "application/json";
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
using (StreamReader streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
response = streamReader.ReadToEnd();
}
httpResponse.Close();
boards = Deserialize<List<Board>>(response);
return View(boards);
}
public static T Deserialize<T>(string jsonData)
{
JsonSerializer json = new JsonSerializer();
return json.Deserialize<T>(new JsonTextReader(new StringReader(jsonData)));
}
Отсюда я получаю информацию, которую хочу отобразить, но после этого в контроллере все становится очень запутанным.
Кто-нибудь может сказать мне, что я делаю не так и как правильно это сделать.
Заранее спасибо!
Комментарии:
1. Можете ли вы определить
messy
? Чем это отличается от ваших ожиданий?2. «что-то не так» — это не сообщение об ошибке или четкое описание проблемы, и это не решаемая проблема. Пожалуйста, постарайтесь придерживаться конкретной технической информации.
3. В моем контроллере я добавляю запрос HttpGet и создаю ViewModel и View, после этого я создаю запрос HttpPost, но когда я хочу что-то добавить на плате, я получаю сообщение об ошибке, что мой запрос неавторизован
4. Пожалуйста, сообщите нам точное сообщение об ошибке и строку, в которой оно возникает. Как я уже сказал, будьте конкретны . В вашем вопросе есть кнопка «редактировать», которую вы можете использовать для его обновления.
5. В моем контроллере я добавляю запрос HttpGet и создаю ViewModel и View, после этого я создаю запрос HttpPost, но когда я хочу добавить что-то на плате, я получаю ошибку JsonSerializationException: невозможно десериализовать текущий объект JSON (например, {«name»:»value»}) в систему «тип». Коллекции. Общий. Список, потому что для правильной десериализации типа требуется массив JSON (например, [1,2,3] ). Или WebException: удаленный сервер вернул ошибку: (405) Метод не разрешен.
Ответ №1:
Ответ на https://<subdomain>.kanbanize.com/api/v2/boards/4
возвращает сведения об одной плате, а не список.
Вместо объявления списка плат, объявите один экземпляр и повторите попытку, пожалуйста.