我在iOS端使用RestKit,在Java端使用Jersey来讨论JSON。
RestKit正在发送以下内容:
{
"user": {
"emailAddress": "someuser",
"password": "somepassword"
}
}
在Java方面,User类如下:
@Entity
public class User {
public String emailAddress;
public String password;
public List<UserForm> userForms;
... getters and setters ...
我在Jersey服务上有以下内容:
@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>
对不起,我对泽西岛来说有点新鲜,而且我一直疯狂地寻找答案,所以任何帮助都会非常感激。提前谢谢,你们呀!
答案 0 :(得分:1)
如果您希望RestKit从JSON中删除user
密钥(或者更确切地说不添加它),请将请求描述符上的rootKeyPath
设置为nil
。