Java'da JsonProvider.java
'u RootlessJsonProvider.java
olarak genişleten bir sınıf var, bu sınıfın root öğesi olmadan JSON ile çalışmasına izin veriyor.Sabitleme "aynı silme işlemine sahip değil ... ama aynı yöntemi geçersiz kılmıyor" ama aynı zamanda yeni bir uygulama imzası var mı?
Hala uygulayan sınıfın tamamen aynı yöntem imzası ile tanımlanır yöntemi readFrom
geçersiz çalışılıyor:
@Override
public Object readFrom(final Class<Object> type, final Type genericType,
final Annotation[] anns, final MediaType mtype,
final MultivaluedMap<String, String> headers,
final InputStream inputStream) {
InputStream inputStreamNew = null;
if (type != null) {
final XmlRootElement rootElement = type
.getAnnotation(XmlRootElement.class);
if (rootElement != null) {
inputStreamNew = transformStreamForDropRootElement(rootElement,
inputStream);
}
}
return super.readFrom(type, genericType, anns, mtype,
headers, inputStreamNew);
}
Ama bütün bu değişti uygulamasıdır, köksüz json kullanımına izin vermek . Onunla birlikte gelen
hatadır:
The method readFrom(Class<Object>, Type, Annotation[], MediaType, MultivaluedMap<String,String>, InputStream) of type RootlessJsonProvider has the same erasure as readFrom(Class, Type, Annotation[], MediaType, MultivaluedMap, InputStream) of type MessageBodyReader but does not override it
o kullanım uygulaması kapalı olduğu için yöntem adı da çalışmıyor değiştirme.
yani
JsonProvider rootlessProvier = new RootlessJsonProvder();
rootlessProvider.rootlessReadFrom(....); //ERROR <---- this method doesn't exist as it's not defined in JsonProvider.java
Orada bir tip daha az bildik! Nasıl Bu yöntem kullanıldığında dayalı herhangi bir parametre değildir, bu nedenle nasıl bu hatayı çözebilirsiniz?
Düzenleme: cxf-jaxrs versiyonunun
JsonProvider.java
bölüm 3.1.5
bakıldığında [ 'JsonProvider'] (http://docs.oracle.com/javaee/7/api/javax/json/spi/JsonProvider.html), Geçersiz kılmak için "readFrom (...)" yöntemini göremiyorum. Hangi kütüphaneyi kullanıyorsunuz? – AJNeufeld
CXF-JAXRS: paket org.apache.cxf.jaxrs.provider. Sürüm 3.1.5 –
Sınıf için jenerik type parametresini saklamamanın bir nedeni var mı? İhtiyacınız yoksa, ilk parametre silme sorununu gidermek için "Class type" Sınıf