MVC HTTP POST запрос

#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 возвращает сведения об одной плате, а не список.

Вместо объявления списка плат, объявите один экземпляр и повторите попытку, пожалуйста.