我目前正在编写一个 RESTFUL Web 服务并尝试将整数返回到该 Web 服务。
我在浏览器中遇到 500 Internal Server Error,当我检查 Tomcat 日志时,出现上述错误。
12-Nov-2018 09:47:12.547 SEVERE [http-nio-8080-exec-52] org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo MessageBodyWriter not found for media type=application/xml, type=class java.lang.Integer, genericType=int.
我的代码:
@POST
@Path("/post")
@Produces(MediaType.APPLICATION_XML)
public static int adaptiveAuth(){
int message=1;
return message;
}
如果我用字符串替换该函数,它不会给出任何错误。
@POST
@Path("/post")
@Produces(MediaType.APPLICATION_XML)
public static String adaptiveAuth(){
String message="POST STRING";
return message;
}
结果:发布字符串
关于 MediaType.APPLICATION_XML 的 RESTFUL 是否有任何限制?
谢谢
最佳答案
您好,尝试使用 jax-rs 规范中的 Response 对象
https://docs.oracle.com/javaee/7/api/javax/ws/rs/core/Response.html
最好返回响应对象,这样您就可以灵活地定义状态、正文等。
您还可以查看有关此主题的现有答案:
Returning an Integer from RESTful web services method in java
关于java - RESTFUL Web 服务 - 媒体类型=application/xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53255104/