我开始使用Java和休息服务,我使用GET方法创建了一个休息服务,这个方法返回一个带有他的属性的UserVO,我使用setMethods设置属性值和随机值并返回对象但这不能将映射对象映射到json球衣我使用tomcat 6,JDK 1.8.0_121和eclipse并显示此错误:
com.sun.jersey.spi.container.ContainerResponse write
GRAVE: A message body writer for Java class Autoconsulta.ValueObject.UsuarioVO, and Java type class Autoconsulta.ValueObject.UsuarioVO, and MIME media type application/json was not found.
The registered message body writers compatible with the MIME media type are:
application/json ->
com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$App
com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$App
com.sun.jersey.json.impl.provider.entity.JSONObjectProvider$App
com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$App
com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$App
VO
public class UsuarioVO {
private String rut;
private boolean isValid;
public String getRut() {
return rut;
}
public void setRut(String rut) {
this.rut = rut;
}
public boolean isValid() {
return isValid;
}
public void setValid(boolean isValid) {
this.isValid = isValid;
}
}
我的服务:
@GET
@Path("/getUser")
@Produces({MediaType.APPLICATION_JSON})
public UsuarioVO getUsuario() {
UsuarioVO u = new UsuarioVO();
u.setRut("123444");
u.setValid(true);
return u;
}
web xml
<servlet>
<servlet-name>Servicio_Rest</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>Autoconsulta.ws.rest.service</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>Servicio_Rest</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
pom xml
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.19</version>
</dependency>