Java 415不支持的媒体类型-不适用于GET
我有一个rest调用,它返回会话用户的名称Java 415不支持的媒体类型-不适用于GET,java,rest,Java,Rest,我有一个rest调用,它返回会话用户的名称 @GET @Produces(" text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") @Path(value = "getSessionUserName") public Response getSessionUserName() { try { Session session = SessionManag
@GET
@Produces(" text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
@Path(value = "getSessionUserName")
public Response getSessionUserName() {
try {
Session session = SessionManager.getCurrentSession();
String details = session.getUserDisplayName().toString();
return Response.ok(details).build();
}
catch(Exception e) {
return handleExceptions(e);
}
每次我尝试访问此文件时,都会出现415不支持的媒体类型异常。
我还有其他几乎相同的电话,工作正常。我无法解决此问题。
@products
允许单个字符串媒体类型(不是具有多个逗号分隔媒体类型的单个字符串)或单个字符串媒体类型的逗号分隔列表
@Produces("application/xml")
-or-
@Produces({"text/html","application/xhtml+xml","application/xml;q=0.9", "*/*;q=0.8"})
还有一件事,你可能想看看维基百科上的文章。我想你可能不完全理解它是如何工作的。您的产品中包含的内容是浏览器将发送的内容。它的意思是,它希望数据以HTML、XHTML的形式返回,如果这些数据不可用,则返回XML,如果这些数据不可用,则返回任何内容
但在服务器端,您需要确定实际能够生成哪些类型。你真的能生成HTML吗,你真的能生成XHTML吗,你真的能生成XML吗?
@产生
注释与内容协商一起工作。有“广告”什么媒体类型是你能够生产。客户端应发送一个包含其能够处理的媒体类型的Accept
标题。这就是谈判发生的地方。如果客户机需要一个类型,而服务器无法生成,它将得到一个406不可接受的错误。康涅格就是这样工作的 @products
允许单个字符串媒体类型(不是具有多个逗号分隔媒体类型的单个字符串),或单个字符串媒体类型的逗号分隔列表
@Produces("application/xml")
-or-
@Produces({"text/html","application/xhtml+xml","application/xml;q=0.9", "*/*;q=0.8"})
还有一件事,你可能想看看维基百科上的文章。我想你可能不完全理解它是如何工作的。您的产品中包含的内容是浏览器将发送的内容。它的意思是,它希望数据以HTML、XHTML的形式返回,如果这些数据不可用,则返回XML,如果这些数据不可用,则返回任何内容
但在服务器端,您需要确定实际能够生成哪些类型。你真的能生成HTML吗,你真的能生成XHTML吗,你真的能生成XML吗?@产生
注释与内容协商一起工作。有“广告”什么媒体类型是你能够生产。客户端应发送一个包含其能够处理的媒体类型的Accept
标题。这就是谈判发生的地方。如果客户机需要一个类型,而服务器无法生成,它将得到一个406不可接受的错误。康涅格就是这样工作的