2016-03-21 17 views
0

Huzurlu bir API üzerinde çalışıyorum. REST versiyonunu tatmin etmek için bir versiyonun yapısını "kilitleyen" bir çözüm arıyorum.Huzurlu varlık sürümleri

Projem için JAX-RS ve JPA kullanıyorum. JPA varlıklarım sık sık değişebilir, ancak bu değişikliklerin otomatik olarak açığa çıkmasını istemiyorum. Bir çözümün DTO (Veri Transferi Ojbect) olabileceğini biliyorum, bu çok fazla ders ekleyecektir ve yatırımın değerinin olup olmadığından emin değilim.

Bunu başarmak için daha iyi/daha basit çözümler var mı, yoksa DTO'nun tek yolu var mı?

+3

Kazanmak için DTO. Aksi takdirde, iç yapınızı sızmanız ve bir uygulamanın iç yapısının değişme eğiliminde olduğunu ve API'nizin değişmesini istemediğinizi belirtmeniz gerekir. – Augusto

cevap

4

Basitçe söylemek gerekirse, DTO gitmek için bir yoldur. API'nızı ve modelinizi bağımsız hale getirmenin bir yolu budur. Dahası bazen model (JPA) sınıflarının REST API'sı yoluyla açılamayacağı durumlar vardır (örneğin, dairesel nesne bağımlılıkları varsa). Belki başlangıçta DTO ek yüke benziyor, modeli temiz tutmanın tek yolu budur (örn. Sunum katmanı agnostik - REST, modeli sunmanın bir yoludur). RESTful API aracılığıyla bir sınıfı açığa çıkarmak, genellikle modele bazı ek açıklamalar eklemeyi gerektirir. Onları doğrudan modele sahip olmak onu kirletir.