我可能需要你的帮助来理解我的Java Spring代码无法正常工作的原因。
我有一个HTTP Get方法,其中我想传递两个请求参数。虽然第一个参数传递得很好,但第二个参数总是为空或空。
这就是方法的开头。
@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注释中指定默认值=,name =,value = parameters。但无论如何,url中的第二个参数始终为null / empty string。
如果我对网址本身做错了,我就是这样编写的:
"/session/1?startSequence=4&?endSequence=6"
我希望你知道我错过了什么。
答案 0 :(得分:1)
您的要求
/session/1?startSequence=4&?endSequence=6
应该如此,RequestParam的第一部分以?
开头,后面的任何requestParams都以&
开头。
话虽如此,您的请求应该是这样的。
/session/1?startSequence=4&endSequence=6
所有改变的都是删除了第二个?
。
答案 1 :(得分:0)
改变它:
"/session/1?startSequence=4&?endSequence=6"
对于它:
"/session/1?startSequence=4&endSequence=6"
?
仅用于第一个参数,之后您可以使用&
添加更多参数。