多个实体在Post Web Api中发送

时间:2016-06-28 08:26:45

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

您好我正在尝试将评论添加到用户的位置

我的Bll中有以下代码

public void AddReview(Guid locationId, ReviewDto review, UserDto user)
        {
            var location = _locationRepository.Get(locationId);
            var reviewModel = new Review
            {
                Comment = review.Comment,
                Rate = review.Rate,
                Location = location,
                LocationId = location.Id,
                User = new User
                {
                    Name = user.Name,
                    Email = user.Email,
                    Password = user.Password
                },
                UserId = user.Id

            };
            _reviewRepository.Add(reviewModel);
            _reviewRepository.Save();
            location.AddReview(reviewModel);

        }
    }

可以从Post发送用户和评论吗?

U.R.I.应该看起来像..我想 / api / location / {id} / review / user(POST)....我不知道,我会感谢一些帮助..谢谢!

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是在

处发布确切的有效负载
/api/location/{id}/review

我说你在访问该资源时只使用/ user端点,因为将评论(基本上)发布到用户端点会很奇怪。如果您正在谈论REST level 3,您可以拥有从审核到用户的链接。或者,您可以简单地将用户嵌入审阅资源中,以便在一次通话中同时获取它们。

话虽这么说,最正统的方法可能会逐步添加它们(添加评论,转到资源,遵循某种用户添加关系并POST用户。