繁体   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