MVC5.1 avec Web API 2 et AngularJS

Je suis en train de travailler sur un projet pour enseigner moi-même AngularJS et API Web et comment les deux peuvent travailler ensemble joliment.

J'ai de bonnes ASP.NET MVC connaissances, mais je ne peux toujours pas obtenir ma tête autour de AngularJS et Web API et comment tous les trois peuvent travailler ensemble.

Pour le moment, j'ai une Web API Contrôleur avec le code suivant:

public class PlanController : ApiController
{
    [Route("api/thing")]
    public HttpResponseMessage Post(ThingVM model)
    {
        HttpResponseMessage response;

        if (ModelState.IsValid)
        {
            using (var context = new MyContext())
            {

                var thing = new Thing();

                context.Thing.Add(thing);
                context.SaveChanges();
                response = Request.CreateResponse(HttpStatusCode.Created);
                string uri = Url.Link("GetThingById", new {id = thing.Id});
                response.Headers.Location = new Uri(uri);
            }
        }
        else
        {
            response = Request.CreateResponse(HttpStatusCode.BadRequest);
        }
        return response;
    }
}

Dans mon Create.cshtml vue j'ai le ng-app directive et j'ai créé un JS contrôleur et placé le ng-controller directive autour de la forme, et l'ont signalé à la JS contrôleur.

Mais là je suis coincé. Tout d'abord, comment puis-je lier mon ThingVM.cs ViewModel Angulaire? Dois-je retourner un JSONResult sur mon contrôleur MVC? Si Oui, comment? Cause j'ai essayé, à la suite, et ce n'est pas la compilation.

[HttpGet]
public JsonResult Create()
{
    using (var context = new MyContext())
    {
        var model = new ThingVM();
        return Json(model);
    }
}

Si je suis qu'au travail, comment puis-je lier à AngularJS, de sorte qu'il sait ce que mon ViewModel de la structure? Parce que mon ThingVM a de nombreux niveaux de complexité.

Enfin, comment dois-je traiter la soumission du formulaire, de sorte que angulaire des points à mon Web API Contrôleur pour la POST demande.

Toute aide serait grandement appréciée.

Merci.

source d'informationauteur Ciwan