簡體   English   中英

如何在 Postman 中將原語數組作為請求傳遞

[英]How to pass an array of primitives as Request in Postman

我想知道將簡單的 int[] 數組傳遞給 Spring Controller 的最佳方法是什么?

截至目前,它僅在我將值作為 URL 中的 @RequestParam 傳遞時才起作用,但是我想將它們作為 @RequestBody 發送。 我怎么能那樣做?

`

@PostMapping
public int acceptArray(@RequestParam int[] array) {

    if (array == null || array.length == 0) {
        throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "You entered an empty array");
    }

    return arraySolver.arraySolver(array);
}

`

因為我有點新,所以更詳細的解釋將不勝感激:)

預先感謝您的幫助。

您可以通過將多個 arguments 作為查詢參數傳遞來實現,如下所示。 controller 將數組作為輸入並對元素求和並返回。 這就是 [1,2,3] 輸出 6 的原因。

在此處輸入圖像描述

要將其作為請求正文發送,您只需遵循以下代碼即可。

@PostMapping
    public int acceptArray(@RequestBody InputArrayRequest request) {

        if (request.getArray() == null || request.getArray().length == 0) {
            throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "You entered an empty array()");
        }

        return arraySolver.arraySolver(array);
    }

class InputArrayRequest {
    private int[] array;

    public int[] getArray() {
        return array;
    }
}

您可以通過在Body > form-data中多次指定相同的鍵來傳遞數組,如以下屏幕截圖所示: 郵遞員截圖

如果你想要一個來自 RequestBody 的整數數組

在此處輸入圖像描述

@PostMapping
public int acceptArray(@RequestBody int[] array) {
    if (array == null || array.length == 0) {
        throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "You entered an empty array()");
    }
    return Arrays.stream(array).sum();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM