1. 程式人生 > >Angular 呼叫 WebApi 傳參

Angular 呼叫 WebApi 傳參

WebApi的CURD方法記錄以及呼叫傳參
        // GET api/test
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/test/5       { id: "5" }
        public string Get(string id)
        {
            return "value";
        }

        // PUT api/test         [{ Id: "11", Value: "22" },{ Id: "33", Value: "44" }]
        public void Post([FromBody]IEnumerable<Model> list)
        {

        }

        // PUT api/test        [{ Id: "11", Value: "22" },{ Id: "33", Value: "44" }]
        public void Put([FromBody]IEnumerable<Model> list)
        {

        }

        // DELETE api/test?id=5        { id: "5" }
        public void Delete(string id)
        {

        }

        // DELETE api/test?json=%5B%7B%22Id%22:%2211%22%7D,%7B%22Id%22:%2233%22%7D%5D       { json: JSON.stringify([{ Id: "11" }, { Id: "33" }]) }
        public void Deletes(string json)
        {
            JArray jsonObj = JArray.Parse(json);

        }

呼叫及傳參:

$scope.resultValue = service.Get();//Get
$scope.resultValue = service.Get({ id: "123"});//Get(string id)
$scope.resultValue = service.Post([{ Id: "11", Value: "22" }, { Id: "33", Value: "44" }]);//Post([FromBody]IEnumerable<Model> list) 不能與單個引數的Post共存
$scope.resultValue = service.Put([{ Id: "11", Value: "22" },{ Id: "33", Value: "44" }]);//Put([FromBody]IEnumerable<Model> list)
$scope.resultValue = service.Delete({ id: "123" });//Delete(string id)
$scope.resultValue = service.Delete({ json: JSON.stringify([{ Id: "11" }, { Id: "33" }]) });//Deletes(string json)

angular服務:

angular.module('services', ['ngResource'])

    .factory('service', function ($resource) {
        return $resource('http://localhost:25397/api/test/', {}, {
            GetJsonp: { method: 'JSONP', params: { callback: 'JSON_CALLBACK' }, isArray: true },
            Get: { method: 'GET', isArray: true },
            Post: { method: 'POST' },
            Put: { method: 'Put'},
            Delete: { method: 'Delete'}
        })
    })


http://techbrij.com/pass-parameters-aspdotnet-webapi-jquery