2016-06-28 2 views
0

Привет Я пытаюсь добавить отзыв на месте с помощью пользователяМножественные объекты отправить в сообщение Web Api

У меня есть следующий код в моем 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) .... Я не знаю, я был бы признателен за помощь. Спасибо! Спасибо!

ответ

0

Один из способов сделать это было бы размещая эту точную полезную нагрузку на

/api/location/{id}/review 

Я бы сказал, что вы будете использовать только/пользователя конечной точки, когда доступа этот ресурс, потому что это было бы странно вывешивать обзор (в основном) конечной точки пользователя. Если вы говорите о REST level 3, у вас может быть ссылка на отзыв для пользователя. В качестве альтернативы вы можете просто встроить пользователя в ресурс обзора, чтобы получить их как в одном вызове.

Это, как говорится, самый ортодоксальный подход, вероятно, добавив их в шагах (добавить отзыв, перейдите к ресурсу, следовать какой-то пользователь добавьте отношения и POST пользователя.

+0

Я полагаю, что пользователь уже отправлено, и он добавляет отзыв в место .... У моего отзываDto есть LocationId и UserId –

+0

, тогда я бы подумал об этом наоборот: перейдите к User, затем следуйте за отношением review-add, POSTing только обзор (userId также может быть выведен из URL, не обязательно из тела) –

Смежные вопросы