Я использую базу данных продуктов Министерства сельского хозяйства США, чтобы попытаться сделать приложение, которое скажет вам, получили ли вы ежедневные рекомендации по витаминам. Я получаю данные просто отлично, но мне интересно, можно ли отправлять эти данные из Angular в С# api, поэтому я могу добавить массив строк и int в общую модель подсчета. Как я буду маршрутизировать это и какие данные я должен сказать API, чтобы ожидать?
Ошибка, которую я получаю прямо сейчас:
Сообщение: "HTTP-ресурс не найден, который соответствует URI запроса" http://localhost/api/apiFood [object Object] ". MessageDetail: "Тип не найден, который соответствует контроллеру с именем" apiFood [object Object] "."
Я пробовал:
public IHttpActionResult Post([FromUri]ValueVM toEat)
{
return Ok();
}
просто посмотреть, будет ли он маршрутизировать, но это не сработало.
Я отправляю данные с помощью ngclick = "add (display)", который переходит к этой функции в контроллере:
$scope.add = function (display) {
FoodFactory.add(display).then(function (data) {
});
};
и эта функция на заводе:
o.add = function (display) {
var defer = $q.defer();
var config = { contentType: 'application/json' };
$http.post('api/apiFood' + display, config).success(function (data) {
defer.resolve(data);
});
return defer.promise;
};
В вашей модели
public class toEat
{
public int id {get;set;}
public string name {get;set;}
}
В вашем ApiController
public class EatController : ApiController
{
[HttpPost]
public HttpResponseMessage Post(List<toEat> list)
{
return Ok();
}
}
Ваш запрос
function Request() {
$.ajax({
type: "POST",
url: url,
contentType: "application/json",
data: (your serialized array),
async: false,
success: function(data) {
console.log(data);
}
});
}
[FromUri]List<ValueVM> toEat
вместо[FromUri]ValueVM toEat