2012-02-28 14 views
6

निर्देश here के बाद मैं इस कोड है:मैं Grizzly2 का उपयोग कर जर्सी में प्रोग्रामेटिक रूप से POJO-mapping को कैसे सक्षम करूं?

private static URI getBaseURI() { 
    return UriBuilder.fromUri("http://localhost/").port(9998).build(); 
} 

public static final URI BASE_URI = getBaseURI(); 

protected static HttpServer startServer() throws IOException { 
    System.out.println("Starting grizzly..."); 
    final ResourceConfig rc = new PackagesResourceConfig("amplify.api.resources"); 
    return GrizzlyServerFactory.createHttpServer(BASE_URI, rc); 
} 

public static void main(final String[] args) throws IOException { 
    final HttpServer httpServer = startServer(); 
    System.out.println(String.format("Jersey app started with WADL available at " 
      + "%sapplication.wadl\nTry out %shelloworld\nHit enter to stop it...", BASE_URI, BASE_URI)); 
    System.in.read(); 
    httpServer.stop(); 
} 

अगला मैं वर्णित here के रूप में JSON POJO समर्थन सक्षम करना चाहते हैं, लेकिन समस्या यह है कि मैं एक web.xml फ़ाइल के माध्यम से यह करने के लिए प्रोग्राम के रूप में के बजाय (चाहते है मेरे पास web.xml फ़ाइल नहीं है!)।

JSON POJO मैपिंग सुविधा को सक्षम करने के लिए उपरोक्त कोड को मैं कैसे संशोधित कर सकता हूं?

उत्तर

10
protected static HttpServer startServer() throws IOException { 
    System.out.println("Starting grizzly..."); 
    final ResourceConfig rc = new PackagesResourceConfig("amplify.api.resources"); 
    rc.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, true); 
    return GrizzlyServerFactory.createHttpServer(BASE_URI, rc); 
} 
2

आपको बस अपनी परियोजना में जर्सी-जेसन लाइब्रेरी जोड़ने की आवश्यकता है। यहां तक ​​कि ResourceConfig के feautres को JSONConfiguration.FEATURE_POJO_MAPPING जोड़े बिना

<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-json</artifactId> 
    <version>${jersey.version}</version> 
</dependency> 

यह मेरे लिए काम करता है:

आप Maven का उपयोग कर रहे हैं, तो सिर्फ इस निर्भरता जोड़ें।

संबंधित मुद्दे

 संबंधित मुद्दे