/ / Ako ignorovať koreňový prvok pomocou Jersey a JSON? - java, json, zvyšok, dres, restkit

Pomocou Jersey a JSON, ako ignorovať koreňový prvok? - java, json, odpočinok, dres, restkit

Používam RestKit na strane iOS a Jersey na strane Java na rozhovor s JSON.

RestKit posiela nasledovné:

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

Na strane Java je trieda User takto:

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

... getters and setters ...

V službe Jersey mám nasledujúce:

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

Všetko v someUser objekt je null. Takže si myslím, že sa snažím prinútiť Jersey, aby zabudol na koreňový uzol, pretože keď niečo pošle späť, má to podobu:

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

Ak je to nejaká pomoc, môj web.xml obsahuje nasledujúce:

<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>

Ospravedlňujeme sa, ale som trochu nováčik v Jersey a bol som vystrašený ako blázon, aby som našiel odpoveď, takže akákoľvek pomoc by bola veľmi ocenená. V predstihu, y "všetci!

odpovede:

1 pre odpoveď č. 1

Ak chcete, aby RestKit odstránil user kľúč od JSON (alebo radšej nepridať), nastavte rootKeyPath na váš deskriptor žiadosti nil.