istemci kütüphanesi için kesinlikle yazılı POJOs oluşturun. SDK'da, OData öğelerini temsil etmek için güçlü yazılan sınıflara sahip olmak istiyorum. Bunu kolayca uygulamakta zorlanıyorum ve bu yüzden burada farklı bir stratejiyi kaçırıyormuşum gibi hissediyorum.Olingo - Ben bir sığınakta OData API sağlayacak bir Java SDK için bir OData istemcisi olarak Apache Olingo kullanıyorum OData hizmeti
Olingo yolu API ile etkileşim için yararlı olan yöntemlerin bir grup kullanıcıya sunan bir ODataClient
nesne elde etmek gibi görünüyor. ODataClient
, isteğimi oluşturmak için bir sürü fabrika yöntemi kullanıyor. Örneğin, Northwind örnek OData hizmetinden Customers
almak için kullandığım kod budur. client
, gerekli ODataClient
sınıfının bir örneğidir.
String serviceRoot = "http://services.odata.org/V4/Northwind/Northwind.svc";
URI customersUri = client.newURIBuilder(serviceRoot)
.appendEntitySetSegment("Customers").build();
ODataRetrieveResponse<ODataEntitySetIterator<ODataEntitySet, ODataEntity>> response =
client.getRetrieveRequestFactory().getEntitySetIteratorRequest(customersUri).execute();
if (response.getStatusCode() >= 400) {
log("Error");
return;
}
ODataEntitySetIterator<ODataEntitySet, ODataEntity> iterator = response.getBody();
while (iterator.hasNext()) {
ODataEntity customer = iterator.next();
log(customer.getId().toString());
}
Ben İlerleticiden kesinlikle yazılı bir varlık (yani Customer customer = iterator.next()
) ile bitirmek istiyorum. Ancak, aslında bunu nasıl yapacağımı bilmiyorum. Ben ODataEntity
uzanan bir Customer
sınıf oluşturmak ve Customer customer = (Customer) iterator.next()
sonra bir ClassCastException
olsun gibi yineleyici nesneler sadece ODataEntity
nesneleri olduğundan bir döküm gerçekleştirmek girişiminde ve Customer
alt sınıf hakkında hiçbir şey biliyorsanız
.
Bir sonraki düşünce Generics'i tanıtmak oldu ama bunu yaparken bunu yapmak için daha iyi bir yol olduğunu düşünmeme neden oldu Olingo kütüphaneye modifikasyon iyi bir miktar gibi görünüyor gerektirecektir.
ben ben eksik OData 4.
kullanmalıdır OData hizmeti beri Apache Olingo 4 geliştirme sürümünü kullanıyorum?
kullandığım çalışılıyor hizmet meta verilerle çalışmaz eklenti gibi bazı varlıkları okumak için bunu kullanabilirler - bu karmaşık Net hizmet meta verileri ile test edilmiştir? –
Bu @ https://issues.apache.org/jira/browse/OLINGO-885 –
üzgünüm, ama bu her yerde herhangi bir docs bulamıyorum, o yüzden ... anlarsınız gidermek için bir JIRA yarattığı bu pojo jeneratör eğer odata v2 meta verileri için de çalışır? – Dominik