【问题标题】:Spring boot Rest API consume multipart/form-data with snake caseSpring Boot Rest API 使用蛇案例使用 multipart/form-data
【发布时间】:2020-09-28 14:55:11
【问题描述】:

我正在使用一个休息 API 来消费一个多部分/表单数据的请求,包括

  • 字符串
  • 整数,
  • 列表,
  • 日期 (java.util)
  • 多部分

但问题是 multipart/form-data 无法在表单数据请求参数中映射蛇形情况。

class FormDataRequest {
  private String name;
  private Date createdDate;
  private List<Integer> ids;
  private Multipart filePictureProfile;
  //setter //getter
}

@PostMapping(value = "/registration", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity register(FormDataRequest request) {
   // logger.info(request);
}

所以我可以通过邮递员调用,但我必须在骆驼情况下发送参数,它必须与请求类完全相同(即:createdDate、filePictureProfile)。

我想发送snake_case,例如: { 姓名:..., 创建日期:..., 身份证:... 文件图片配置文件:... }

任何建议将不胜感激?

【问题讨论】:

标签: spring spring-boot


【解决方案1】:

使用@JsonProperty

@JsonProperty 用于表示外部属性名称,数据格式中使用的名称(JSON 或其他支持的数据格式之一)

因此你的FormDataRequest

     class FormDataRequest {
        @JsonProperty("name")
        private String name;
        @JsonProperty("created_date")
        private Date createdDate;
        private List<Integer> ids;
        @JsonProperty("file_picture_profile")
        private Multipart filePictureProfile;
       //setter //getter
      }

【讨论】:

  • @ JsonProperty 在这种情况下不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-22
  • 2016-12-14
  • 2021-12-09
  • 1970-01-01
  • 2022-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多