RESTEasy
Jettison
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>2.2.1.GA</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxb-provider</artifactId>
<version>2.2.0.GA</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jettison-provider</artifactId>
<version>2.2.0.GA</version>
</dependency>
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlAttribute;
@XmlRootElement(name = "person")
public class Person {
@XmlElement(name = "name")
private String name;
@XmlElement(name = "age")
private int age;
@XmlAttribute
private String birth;
// getter, setter
}
フォーマット
[
{
"person":{
"@birth":"2010-01-02",
"name":"Andy",
"age":20
}
},
{
"person":{
"@birth":"2010-06-21",
"name":"Robby",
"age":29
}
}
]
★独自のInject方式
import org.jboss.resteasy.spi.ResteasyProviderFactory;
UriInfo uriInfo = ResteasyProviderFactory.getContextData(UriInfo.class);
下記と同じ
import javax.ws.rs.core.UriInfo;
@Context
private UriInfo uriInfo;
Jackson
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>2.2.1.GA</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>2.2.1.GA</version>
</dependency>
import org.codehaus.jackson.annotate.JsonProperty;
public class Person {
@JsonProperty("name")
private String name;
@JsonProperty("age")
private int age;
// getter, setter
}
フォーマット
[
{
"name":"Andy",
"age":20
},
{
"name":"Robby",
"age":29
}
]
★web.xmlでApplication指定
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/rest</param-value>
</context-param>
<servlet>
<servlet-name>Resteasy</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>yourPackage.yourApplication</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Resteasy</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>