Spring 始终忽略第二个 RequestParam

Spring 2nd RequestParam always ignored

我可能需要您的帮助才能理解为什么我的 Java Spring 代码不起作用。

我有一个 HTTP Get 方法,我想在其中传递两个请求参数。虽然第一个参数传递得很好,但第二个参数始终为 null 或空。

这就是方法开头的样子。

@RequestMapping(value = "/session/{sessionID}", method = RequestMethod.GET)
public ResponseEntity<List<SensordataDTO>> getSensordataBySessionID(
    @PathVariable("sessionID") long sessionID,
    @RequestParam(required = false, name = "startSequence") Optional<Long> startSequence,
    @RequestParam(required = false, name = "endSequence") Optional<Long> endSequence) {

我为 RequestParam 尝试了不同的类型,例如 long、Long 和 Optional。 我也尝试在@RequestParam注解中指定默认的value=,name=,value=参数。但无论如何,url 中的第二个参数始终为空/空字符串。

为了防止我对 url 本身做错了什么,我将其格式化为:

"/session/1?startSequence=4&?endSequence=6"

我希望你知道我错过了什么。

更改它:

"/session/1?startSequence=4&?endSequence=6"

为此:

"/session/1?startSequence=4&endSequence=6"

? 仅用于第一个参数,之后您可以使用 & 添加更多参数。

您的要求

/session/1?startSequence=4&?endSequence=6

RequestParam 的第一部分应该以 ? 开头,任何后续的 requestParam 都以 &.

开头

也就是说,您的请求应该是这样的。

/session/1?startSequence=4&endSequence=6

唯一改变的是删除了您的第二个 ?