【问题标题】:Is there a method to read form data from HttpServletRequest?有没有从 HttpServletRequest 读取表单数据的方法?
【发布时间】:2019-06-06 09:47:43
【问题描述】:

我通过将@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") 这样的方法来使参数过时。上面的代码运行良好,我要优化。

【问题讨论】:

    标签: java jakarta-ee jersey multipartform-data multipart


    【解决方案1】:

    您可以使用@FormDataParam 参数创建自己的bean 并添加到bean,然后对端点中的所有参数使用一个@BeanParam

    class OrderBean {
       @FormDataParam("clientName")
        private String clientName;
      // getter/setters
      }
    
    @POST
      public Response post(@BeanParam OrderBean order) {}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-23
      • 2014-08-04
      • 2021-11-27
      • 1970-01-01
      • 2019-07-26
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      相关资源
      最近更新 更多