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
唯一改变的是删除了您的第二个 ?
。
我可能需要您的帮助才能理解为什么我的 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
唯一改变的是删除了您的第二个 ?
。