在默认功能中,我可以使用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/