将angularjs $ resource中的3个参数传递给C#Web API Controller Post方法,其中一个参数返回null

时间:2016-05-09 09:19:46

标签: c# angularjs asp.net-web-api http-post

我一直在尝试将3个参数传递到我的post方法中,从angularjs到我的C#web api控制器。信息正确传递给angularjs服务。但是在客户端和服务器端post方法上尝试了很多组合来接收多个参数,但我最接近的是2/3。

这是我的代码。

服务器端控制器:

// POST api / values

    [HttpPost("{id}")]

    public IActionResult Post(int id, string userId, [FromBody]Post post)
    {
        if(post.Id == 0)
        {

            _repo.AddPost(id, userId, post);
        }
        else
        {
            _repo.UpdatePost(post);
        }
        return Ok(post);
    }

客户端服务: 名称空间MyApp.Services {

export class PostsService {
    private postsResource;

    constructor(private $resource: ng.resource.IResourceService) {
        this.postsResource = this.$resource("/api/posts/:id");
    }

    getPost(id) {
        return this.postsResource.get({ id: id });
    }


    savePost(id, userId, postToSave) {
        return this.postsResource.save({ id: id }, { userId: userId }, postToSave).$promise;
    }

    deletePost(id) {
        return this.postsResource.delete({ id: id }).$promise;
    }
}

angular.module("MyApp").service("postsService", PostsService);

}

任何提示或建议?非常感谢!

0 个答案:

没有答案