У меня очень простой .NET Web API, размещенный в Azure, с двумя очень простыми способами:
[EnableCors(origins: "http://simpleapiearl.azurewebsites.net", headers: "*", methods: "*")]
public class EnvelopesController : ApiController {
// GET: api/Envelopes
public IEnumerable<string> Get() {
return new string[] { "value1", "value2" };
}
// POST: api/Envelopes
public string Post([FromBody]Envelope env) {
return "rval: " + env + " (and my addition to env)";
}
}
Я создал простой plunk, чтобы вызвать эти методы. В моем коде AngularJS я делаю два очень простых вызова $http. GET отлично работает. Однако POST всегда возвращает "400 (неудачный запрос)", а затем вскоре в моей консоли WebStorm с помощью "XMLHttpRequestion не может загрузить... Недопустимый код состояния HTTP 400".
Любые предложения приветствуются!
ИЗМЕНИТЬ!!
Привет, спасибо за очень быстрые ответы. Я просто понял, что забыл добавить некоторые очень важные детали.
Параметр моего метода POST - это то, что я называю объектом Envelope, который содержит два свойства: listingId (int)
и Description (string)
. Когда я добавляю заголовок Content-Type с urlencoded и передаю '{"listingId":1234, "Description":"some description"}'
в качестве моих данных POST, параметр env в моем методе POST на сервере равен NULL (то есть, похоже, он не может разобрать JSON, который я предоставляю). Извините, это было опущено с оригинального сообщения.