简体   繁体   English

在 postman 请求正文中传递枚举列表

[英]Pass a list of enums in postman request body

This is the controller that I am trying to pass the enum values to:这是我试图将枚举值传递给的 controller:

 @AllowedRequestParams({"columns", "ids"})
  @GetMapping("/v1/analysis/files")
  public ResponseEntity<byte[]> downloadAnalysis(@Valid AnalysisColumnsSelector columnsSelector,
                                                 @Valid FileUploadSearchCriteria criteria,
                                                 @Valid AnalysisSortable sortable) {
    return csv()
        .asAttachment("data_analysis.csv")
        .withBody(AnalysisDownloader.downloadAnalysis(columnsSelector, criteria, sortable));
  }

This is the object having a list of enums that I am trying to pass:这是 object,其中包含我要传递的枚举列表:


  import static java.util.Arrays.asList;
import static org.apache.commons.collections4.CollectionUtils.isEmpty;

import java.util.List;
import lombok.EqualsAndHashCode;
import lombok.Setter;

  @EqualsAndHashCode
  @Setter
  class AnalysisColumnsSelector {

    private List<AnalysisColumnEnum> columns;

    public List<AnalysisColumnEnum> getColumns() {
      return isEmpty(columns) ? asList(AnalysisColumnEnum.values()) : columns;
    }

    public String[] getHeaders() {
      return getColumns().stream()
          .map(AnalysisColumnEnum::getHeader)
          .toArray(String[]::new);
    }
  }

and this is the enum:这是枚举:

 import static java.util.Arrays.stream;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

  @Getter
  @RequiredArgsConstructor
  enum AnalysisColumnEnum {

    ANALYSIS_COLUMN("analysisId", "[![ANALYSIS][1]][1]"),

    TITLE("title", "TITLE"),

    DISCUSSED("discussed", "Discussed");

    private final String code;
    private final String header;

    public static AnalysisColumnEnum decode(String code) {
      return stream(values())
          .filter(analysisColumn -> analysisColumn.code.equals(code))
          .findFirst()
          .orElseThrow(() -> new IllegalArgumentException("Unknown column code."));
    }

I am passing my request body as in the below image, but the values are not being sent to the controller. What is my mistake?我正在传递我的请求正文,如下图所示,但值没有发送到 controller。我的错误是什么? 在此处输入图像描述

your request method is GET, but you send request body, they are not match.您的请求方法是 GET,但是您发送请求正文,它们不匹配。 I suggest you change your request method turn to POST, and use @RequestBody.我建议您将请求方法更改为 POST,并使用@RequestBody。 By the way, You need to encapsulate three objects into a new object.顺便说一句,你需要将三个对象封装成一个新的object。

@AllowedRequestParams({"columns", "ids"})
@PostMapping("/v1/analysis/files")
public ResponseEntity<byte[]> downloadAnalysis(@RequestBody XX xx) {
    return csv()
            .asAttachment("data_analysis.csv")
            .withBody(AnalysisDownloader.downloadAnalysis(xx.getColumnsSelector(), xx.getCriteria(), xx.getSortable()));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在 POSTMAN 中的 form-data(Postman-&gt;post request url-&gt;body-&gt;form-data) 中传递 object 数据类型? - How to pass object data type in form-data(Postman->post request url->body->form-data) in POSTMAN? 在 Postman 的请求正文中传递多个 JSON 数据并使用 Jersy(JXRS) 进入 Java Rest API - Pass multiple JSON data in Request Body of Postman and Get into Java Rest API using Jersy(JXRS) 在 Postman 的 Request Body 中传递多个 JSON 数据,并使用 undertow ZDB974238714CA8ACE4DA 将其放入 Java - Pass multiple JSON data in Request Body of Postman and Get it into Java using undertow API 无法将枚举列表传递到Hibernate查询中? - Can't pass in List of Enums into Hibernate Query? 如何在邮递员中为此特定方法传递请求参数? - How to pass request parameters in the postman for this particular method? 如何在 Postman 中将原语数组作为请求传递 - How to pass an array of primitives as Request in Postman 如何从 curl 或 postman 或 swagger Micronaut 传递值 @Body MultipartBody - How to pass the value @Body MultipartBody from curl or postman or swagger Micronaut 如何在 POST 请求中传递 Headers 和 request body? - How to pass Headers and request body in POST request? Postman 模拟服务器,用于具有动态请求标头/正文的请求 - Postman mock server for requests with dynamic request headers/body Postman 与“正文”(json)和文件(多部分)一起在 1 个 restful 请求中 - Postman with "body" (json) and files (multipart) together in 1 restful request
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM