AngularJS $ Resource POST WebAPI 2

时间:2014-10-21 15:59:59

标签: angularjs rest post resources asp.net-web-api2

我试图通过使用" $ resource"将bookData发布到我的WebAPI2服务。在AngularJS中。当它首先从BookService获取一本书,修改书籍并将其发布到BookService时,这种方法很有效。

我正在寻找一种方式来发布一本书而不先从BookService获得一本书。

首先,我在WebAPI2中创建了一个REST服务:

public IHttpActionResult Get([FromUri] string id)

public IHttpActionResult Post([FromBody] BookData bookData)

其次,在控制器中,我试图发布一些书籍数据。 BookService注入Controller中



var bookData;
    
var book = BookService.get({ id: 1 }, function()
    {
        bookData = book;
        
    });

$scope.sendBook = function () {
    bookData.Title = 'Test REST';

    var book = new BookService(bookData);

    book.$save();
 }




我已尝试过以下操作,但它无法正常工作



var bookData = {Title: 'Test REST'};

$scope.sendBook = function () {
    var book = new BookService(bookData);

    book.$save();
 }




2 个答案:

答案 0 :(得分:0)

其中只有一些静态数据。

public class BookController : ApiController
{
    [HttpGet]
    public IHttpActionResult Get([FromUri] string id)
    {
        BookViewModel vm = new BookViewModel
        {
            Title = "TEST REST"
        };

        return Ok(vm); 
    }

    [HttpPost]
    public IHttpActionResult Post([FromBody] BookData bookData)
    {
        BookViewModel vm = new BookViewModel
        {
            Title = "TEST REST"
        };

        return Created(new Url(Request.RequestUri.ToString()), vm);
    }
}

答案 1 :(得分:0)

我找到了解决方案。将bookData分配给$ scope

类似的东西:



$scope.bookData = { Title: 'Some title' };