/ / जर्सी और JSON का उपयोग करते हुए, मूल तत्व की उपेक्षा कैसे करें? - जावा, json, आराम, जर्सी, restkit

जर्सी और JSON का उपयोग, रूट तत्व को अनदेखा कैसे करें? - जावा, जेसन, आराम, जर्सी, restkit

मैं JSON पर बात करने के लिए iOS की तरफ RestKit का उपयोग कर रहा हूँ, और जावा की तरफ जर्सी का।

RestKit निम्नलिखित भेज रहा है:

{
"user": {
"emailAddress": "someuser",
"password": "somepassword"
}
}

जावा पक्ष पर, उपयोगकर्ता वर्ग इस प्रकार है:

@Entity
public class User {
public String emailAddress;
public String password;
public List<UserForm> userForms;

... getters and setters ...

मैं जर्सी सेवा पर निम्नलिखित है:

@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public User login(User someUser) throws IOException
{
...

में सब कुछ someUser वस्तु अशक्त है। इसलिए, मुझे लगता है कि मैं रूट नोड को भूलने के लिए जर्सी प्राप्त करने की कोशिश कर रहा हूं, क्योंकि जब वह कुछ वापस भेजता है, तो यह इस रूप में है:

{
"emailAddress": "server",
"password": "serverpass",
}

अगर यह किसी भी मदद की है, मेरे web.xml में निम्नलिखित शामिल हैं:

<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.something.services;org.codehaus.jackson.jaxrs</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>


<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/webapi/*</url-pattern>
</servlet-mapping>

क्षमा करें, मैं जर्सी के लिए थोड़ा नया हूं, और मुझे जवाब खोजने के लिए पागलों की तरह "डिगिन" किया गया है, इसलिए किसी भी मदद की बहुत सराहना की जाएगी। अग्रिम धन्यवाद, y "सभी!"

उत्तर:

उत्तर № 1 के लिए 1

यदि आप चाहते हैं कि RestKit को हटा दें user JSON से कुंजी (या इसे जोड़ने के लिए नहीं), सेट करें rootKeyPath आपके अनुरोध पर वर्णनकर्ता को nil.