0

假设单击了一个超链接并使用以下参数列表 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 只是没有在请求中提供任何参数。有什么办法可以做到这一点?请帮忙...!

4

2 回答 2

0

您可以像这样捕获 a 中的所有参数Map(关键是参数的名称):

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

您还可以Optional像这样捕获可选参数:

public void requestParamOptional(@RequestParam(required=false) Optional<String> param)
于 2020-07-21T22:12:40.063 回答
0

默认情况下需要带有@RequestParam的参数。可以标记为不需要:

@GetMapping
public ResponseEntity<Object> aMapping(@RequestParam String myparam1, @RequestParam String myparam2, @RequestParam(required = false) String myparam3) {
    // response
}
于 2020-07-21T22:18:09.997 回答