ContainerRequestContext

ContainerRequestContext

在默认功能中,我可以使用ContainerRequestContext requestCtx从请求中获取securitycontext和用户名。

但是由于某些原因,在消耗MediaType.MULTIPART_FORM_DATA的函数中使用此函数时,出现此错误:

org.glassfish.jersey.server.model.ModelValidationException: Validation of the application resource model has failed during application initialization.

码:

@POST
@Path("{albumcode}")
@RolesAllowed("user")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadPicture(@PathParam("code") String code,
FormDataMultiPart multipart,
ContainerRequestContext requestCtx) {


没有ContainerRequestContext requestCtx,上面的代码就可以正常工作。

从我的ContainerRequestContext获取数据并能够同时上传文件的最佳方法是什么?

最佳答案

阅读随机帖子时找到了解决方案。我发现在我的@Context前面添加ContainerRequestContext requestCtx批注可以解决问题。

我希望我可以帮助其他人解决这个问题,但找不到与此相关的其他答案。

@POST
@Path("{albumcode}")
@RolesAllowed("user")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadPicture(@PathParam("code") String code,
FormDataMultiPart multipart,
@Context ContainerRequestContext requestCtx) {

关于java - Jersey 我上传文件时无法授权用户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44544499/

10-10 04:22