我通过将@FormDataParam添加到REST接口的一个参数来接收表单数据。
我们公司的代码指南规定,我们不应该在一个方法中使用超过7个参数。因此,我想减少REST接口的参数数。
@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public Response upload(@Context final HttpServletRequest request, @FormDataParam("file") final java.io.File file, @FormDataParam("file") final FormDataContentDisposition fileMetaData, @FormDataParam("file") final FormDataBodyPart formDataBodyPart, @FormDataParam("networksegments") final String networksegments, @FormDataParam("users") final String users, @FormDataParam("username") final String username, @FormDataParam("token") final String token) {
//Some code
}我正在寻找一种像request.getFormData("name")这样的方法来使参数过时。上面的代码运行良好,我想要优化。
发布于 2019-06-06 09:59:32
可以使用@FormDataParam参数创建自己的bean,并将其添加到bean,然后对端点中的所有参数使用一个@BeanParam
类OrderBean { @FormDataParam("clientName")私有字符串clientName;// getter/setters } @POST公共响应post(@BeanParam OrderBean order) {}
https://stackoverflow.com/questions/56474994
复制相似问题