0
我試圖添加收藏夾到收藏 - List<Attraction>
每當用戶點擊所需的Attraction
鏈接。通過WebApi添加到收藏(列表)POST
我的API控制器如下:
public class FavouritesController : ApiController
{
private List<Attraction> _favourites;
private readonly IRepository _repo;
public FavouritesController(IRepository repo)
{
_repo = repo;
}
public IEnumerable<Attraction> Get()
{
return _favourites;
}
[HttpPost]
public IHttpActionResult Add(int id)
{
if (_favourites == null)
{
_favourites = new List<Attraction>();
}
var attraction = _repo.FindAttractionById(id);
if (attraction == null)
{
return BadRequest();
}
_favourites.Add(attraction);
return Ok();
}
這是我AngularJS服務:
function addToFavourites(id) {
$http.post("/api/v1/favourites/" + id)
.success(function(response) {
//Success
})
然後在相位控制器頁:
$scope.addToFavourites = function() {
dataService.addToFavourites(this.attraction.id);
$scope.Favourites = dataService.getFavourites();
}
它的工作原理時,我設置了斷點 - 但只添加了一個項目到集合中 - 所以如果我點擊第一個項目它會添加t他是第一個項目,但如果點擊第二個項目,它會添加第二個項目,但不保留第一個項目。
如果我在瀏覽器中請求Get
到localhost:xxxx/api/v1/favourites
它只是在窗口中顯示null
。我該如何解決這個問題並確保收集狀態保持一致?
感謝,它只是在一瞬間測試 - 將添加到數據庫的下一個任務。 –