Проблем с POST заявки
Здравейте, колеги!
Имам проблем, който се появи вчера и по никакъв начин не мога да го разреша. Проблемът ми е с POST заявките. Когато правя POST заявки, с данни които слагам в тялото на заявката, сървисът не сработва.
Ако ползвам конзолен клиент, излиза съобщение: Request is invalid.
POSTAMAN и RESTClient ми връщат 400 Bad Request
{
"message": "The request is invalid.",
"modelState": {
"country": [
"Unexpected character encountered while parsing number: W. Path '', line 1, position 6."
]
}
}
Горното е абслолютно еднакво за всички обекти, които се опитвам да post-на, независимо дали са User, Post, Game...:
"Unexpected character encountered while parsing number: W. Path '', line 1, position 6."
Отначало мислех, че проблемът е в моя код, че нещо бъркам с BindingModel-ите, но днес свалих домашно на колега, и при опит да направя Register, същото: Разписания от колегата клиент ми върна "The request is invalid." и на POSTMAN върна горния обект с 400 код.
Свалих си един extension за Fiddler, който уж проверява синтаксиса на заявките, но той ми връща същата грешка + bad syntax?? Моля, ако някой се е сблъсквал със същото или има някаква идея да каже :(
Да прав си, имах грешка в заявката в POSTMAN, бях цъкнала form-data, вместо x-www-form-urlencoded. Това обаче въобще не обяснява защо ми даваше грешка в RESTClient, a и нито един от кодовете на колегите от домашното не тръгна, имам предвид конзолните клиенти. А кодовете им изглеждаха коректни.
В крайна сметка както се появи проблемът така и изчезна, след много restart и преинсталация на пакетите. Има нещо бъгаво в цялата работа, миграцията също не винаги сработва, а за да я подкарам в началото трябваше да инсталирам нов NuGet.Tools.vsix и пак не работи читаво. Например във видеото с лекциите се вижда как след enable на Миграцията, конфигурация и инициализация в конструктора на контекстта, при всяка промяна по локалния модел на базата и build промените се отразяват веднага в базата. При мен не се получава така. Правя промени по някое Entity и build-вам, колкото и да давам refresh на базата, при затворени всякакви прозорци и заявки, не отчита никакви промени, дори при рестарт на студиото или сървъра. НО ако в Мain метода направя инстанция на същото Entity или дори само извикам запис от него промяната веднага се отразява в базата. Сякаш тоя тракер нещо не винаги траква? По стечение на обстоятелствата ползвам VS Comunity 2015.
Благодаря за бързия отговор :)
Относно промените, много е вероятно проблемът да е от Management Studio - трябва да даваш рефреш при генериране на нова клас диаграма, когато избираш таблиците. Или ако вече си отворила дизайнера на някоя таблица, трябва да го затвориш и отвориш наново, за да видиш новите колони.
Също така имай превдид, че миграция ще се извърши едва в последния момент - т.е. докато не направиш заявка.
За най-сигурно погледни __MigrationHistory таблицата, там влиза нов запис при всяка миграция. :)
Точно така правя, защото ти поне в 2 лекции наблягаш точно натова :)