簡體   English   中英

如何使用 @RequestParam 使用 spring mvc 捕獲一些參數?

[英]how to capture some parameters using @RequestParam using spring mvc?

假設單擊一個超鏈接並使用以下參數列表 myparam1=myValue1&myparam2=myValue2&myparam3=myValue3 觸發 url。 現在如何在 spring mvc 中使用 @RequestParam 捕獲一些參數?

我的要求是我必須捕獲一些參數並構建對服務器的請求。 我可以將所有請求參數設為可選並在需要時使用嗎?

假設我想使用前兩個參數並想忽略第三個。 例如。 http://localhost:8080/api?myparam1=myValue1&myparam2=myValue2 只是沒有在請求中提供第三個參數。

在下一個場景中,我想使用第二個和第三個,並想忽略第一個參數。 例如。 http://localhost:8080/api?myparam2=myValue2&myparam3=myValue3 只是沒有在請求中提供第一個參數。

在另一種情況下,我不想使用任何請求參數。 例如。 http://localhost:8080/api 只是沒有在請求中提供任何參數。 有什么辦法可以做到這一點? 請幫忙...!

您可以像這樣捕獲Map中的所有參數(關鍵是參數的名稱):

public void requestAllParams(@RequestParam Map<String, String> params)

您還可以像這樣使用Optional捕獲可選參數:

public void requestParamOptional(@RequestParam(required=false) Optional<String> param)

默認情況下需要帶有@RequestParam的參數。 可以標記為不需要:

@GetMapping
public ResponseEntity<Object> aMapping(@RequestParam String myparam1, @RequestParam String myparam2, @RequestParam(required = false) String myparam3) {
    // response
}

暫無
暫無

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

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