ユーザーが希望のAttraction
のリンクをクリックするたびに、コレクションにお気に入りを追加しようとしています - List<Attraction>
です。WebApi経由でコレクション(リスト)に追加POST
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のサービスです:
$scope.addToFavourites = function() {
dataService.addToFavourites(this.attraction.id);
$scope.Favourites = dataService.getFavourites();
}
それは動作します:ページの角コントローラに続いて
function addToFavourites(id) {
$http.post("/api/v1/favourites/" + id)
.success(function(response) {
//Success
})
次のように
私のAPIコントローラがあります私はブレークポイントを設定しますが、コレクションには1つのアイテムしか追加しません - 最初のアイテムをクリックすると、t彼は最初のアイテムですが、2番目のアイテムをクリックすると2番目のアイテムが追加されますが、最初のアイテムは保持されません。
ブラウザでGet
リクエストをlocalhost:xxxx/api/v1/favourites
に送信すると、ウィンドウにはnull
と表示されます。これを修正してコレクションの状態が一貫していることを確認するにはどうすればよいですか?
おかげで、 - 次のタスクとしてDBへ追加されます。 –