Asp.Net和Angular试图向Post API发送一个对象数组

本文关键字:API 一个对象 数组 Post Net Angular Asp | 更新日期: 2023-09-27 18:04:29

我正在使用美国农业部食品数据库尝试制作一个应用程序,它会告诉你是否已经获得了每日推荐的维生素。我得到的数据很好,但我想知道是否有可能将这些数据从Angular发送到c# api,这样我就可以将字符串和int数组添加到total count模型中。我该如何路由这些数据?我应该告诉API期望得到什么样的数据?

我现在得到的错误是:

消息:"没有找到与请求URI 'http://localhost/api/apiFood[object object]'匹配的HTTP资源。"MessageDetail: "没有找到与名为'apiFood[object object]'的控制器匹配的类型。"

I've try:

 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;
};

Asp.Net和Angular试图向Post API发送一个对象数组

在你的模型中

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);
     }
  });
}