java - Guice Injection into Google Cloud Endpoints Transformer -


i have google cloud endpoints application working guice.

i wish inject singleton api transformer.

let's wish transform somethingelse, declares it's transformer be:

import com.google.api.server.spi.config.transformer; import com.google.inject.inject; import com.google.inject.singleton;  @singleton public class myapitransformer     implements transformer<something, somethingelse> {  private mysingleton singleton;  @inject public myapitransformer(mysingleton singleton) {     this.singleton = singleton; } @override public transformfrom(somethingelse somethingelse) {     return singleton.something(somethingelse); }  @override public somethingelse transformto(something something) {     return singleton.somethingelse(something); }  } 

notice wish delegate transformation guice singleton. when try above transformer following error:

java.io.ioexception: com.google.appengine.repackaged.org.codehaus.jackson.map.jsonmappingexception: failed instantiate custom serializer myapitransformer, constructors not found: [(interface java.lang.reflect.type), (class java.lang.class), ()]

it seems guice not providing apitransformers jackson not know how instantiate class without default constructor.

how can guice inject singleton apitransformer?

give transformer default constructor , static injection:

import com.google.api.server.spi.config.transformer; import com.google.inject.inject;  public class myapitransformer     implements transformer<something, somethingelse> {  @inject private static mysingleton singleton;  public myapitransformer() {  } @override public transformfrom(somethingelse somethingelse) {     return singleton.something(somethingelse); }  @override public somethingelse transformto(something something) {     return singleton.somethingelse(something); }  } 

in module:

public class mymodule     extends abstractmodule {  @override protected void configure() {      requeststaticinjection(myapitransformer.class); }  } 

Comments

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

php - Find a regex to take part of Email -