我试图制作一个消耗图像的服务(二进制数据)。
使用此代码:
@POST
@Path("/test")
@Consumes("image/jpg")
@Produces(MediaType.APPLICATION_JSON)
@RolesAllowed({ Constants.SECURITY_ROLE_ADMIN })
public Response postRestaurantPicture(InputStream is)
{
System.out.println("test");
return Response.ok("it works").build();
}
产生此错误:
<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>415 Unsupported Media Type</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Unsupported Media Type</h1>
</body></html>
提示是我无法像MediaType.APPLICATION_JSON那样找到类似MediaType.IMAGE_JPG的常量。
答案 0 :(得分:0)
我终于使用了这个完美运行的代码:
@POST
@Path("/{entityId}/pictures/{pictureId}")
@Consumes({ "image/jpg", "image/png" })
@Produces(MediaType.APPLICATION_JSON)
@RolesAllowed({ MyConstants.SECURITY_ROLE_ADMIN })
public Response postRestaurantPicture(@PathParam("entityId") String entityId,
@PathParam("pictureId") Integer pictureId, byte[] imageBytes)
{
/// ...
}