Jersey RESTful Web 服务中的文件与其他对象一起上传
问题:
您希望使用 Jersey 在单个 REST API 调用中创建包含图像和员工数据的员工记录,但当前的实现会引发问题Chrome Postman 中出现错误。
答案:
要启用同时文件上传和 JSON 数据传输,JSON 数据必须包含在多部分请求中。以下是代码片段的修改版本:
@POST @Path("/upload2") @Consumes({MediaType.MULTIPART_FORM_DATA}) public Response uploadFileWithData( @FormDataParam("file") InputStream fileInputStream, @FormDataParam("file") FormDataContentDisposition contentDispositionHeader, @FormDataParam("emp") Employee emp) { //..... business login }
关键的更改是添加了 @FormDataParam("emp") 以将员工数据包含在多部分请求中。
附加说明:
@POST @Path("upload2") @Consumes(MediaType.MULTIPART_FORM_DATA) public Response uploadFileAndJSON(@FormDataParam("emp") FormDataBodyPart jsonPart, @FormDataParam("file") FormDataBodyPart bodyPart) { jsonPart.setMediaType(MediaType.APPLICATION_JSON_TYPE); Employee emp = jsonPart.getValueAs(Employee.class); }
以上是如何在 Jersey RESTful Web 服务中同时上传文件和 JSON 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!