在默认函数中,我可以使用ContainerRequestContext requestCtx
从请求中获取securitycontext和username。
但由于某种原因,在使用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
获取数据并同时上传文件的最佳方法是什么?
答案 0 :(得分:1)
通过随机帖子阅读时找到解决方案。我发现在@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) {