我使用Jersey将Java对象编组为JSON,如下所示:
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.io.IOException;
@POST
@Consumes({MediaType.APPLICATION_JSON})
@Path("/test")
public Response replay(String input) throws IOException {
return Response.ok().entity(new MyClass()).build();
}
我收到以下例外:
javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException: A message body writer for Java class com.company.MyClass, and Java type class com.company.MyClass, and MIME media type application/octet-stream was not found.
我知道这里的解决方案是:
jackson-jaxrs-json-provider
依赖关系com.sun.jersey.api.json.POJOMappingFeature
POJOMappingFeature
通常在web.xml
中配置。
对于注释驱动且不使用web.xml
的应用程序是否有替代方法?
由于
答案 0 :(得分:1)
您应该只能将其添加到您的pom文件中。
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the no.of test-cases:");
int t = scanner.nextInt();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the String(s)");
for (int i = 0; i < t; i++) {
String myString = br.readLine();
String even = "";
String odd = "";
for (int j = 0; j < myString.length(); j++) {
if (j % 2 == 0) {
even += myString.charAt(j);
} else {
odd += myString.charAt(j);
}
}
System.out.println(even);
System.out.println(odd);
}
scanner.close();
如果您是从Jersey maven原型创建项目,则通常会注释掉此依赖项。
com.sun.jersey.api.json.POJOMappingFeature仅适用于Jersey的版本1. *。包名称从com.sun。*更改为org.glassfish。*从Jersey的版本1更改为2.