मैं 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
.