Hej, mam coś takiego. Jest WebAPI i jest Web Application. I jest obiekt typu dokument, który jest dość rozrośnięty. Posiada różne dzieci itd.
Użytkownik wchodzi w dokument - idzie żądanie do WebAPI - pobierz mi dokument, WebAPI zwraca dokument. Następnie web application robi całą wizualizację i coś takiego:
Document doc = ViewData["Document"] as Document;
<script>
var jsonDocument = @Json.Serialize(doc);
</script>
Następnie jsonDocument jest dodawany do różnych wywołań, np:
<form>
<input type="hidden" id="document" name="document" />
</form>
<script>
function makeThingsButtonClick()
{
$("#document").val(jsonDocument);
}
</script>
I teraz pytanie, jak powinno się robić. Kiedy tak, a kiedy inaczej. A mianowicie - czy w taki sposób mogę sobie to robić i przesyłać cały dokument do kontrolerów? Plusem jest to, że z każdym żądaniem nie muszę pobierać dokumentu, żeby coś sprawdzić. Minusem - użytkownik widzi w kodzie cały dokument i niektóre szczegóły implementacyjne jako, że Document jest moim modelem. Drugim rozwiązaniem jest pobieranie dokumentu z WebAPI przy żądaniach za każdym razem.
Dokument będzie edytowany tylko przez jedną osobę, a więc nie będzie sytuacji, że w międzyczasie ktoś coś zmieni. Jakie głosy?