我正在与其余api一起进行java springboot项目,我需要在uri之一中传递参数,使用此参数时会出现“请求方法GET不支持”错误
//@GetMapping("logs/date?from={from}&to={to}")
@RequestMapping(value="logs/date?from={from}&to={to}",method=RequestMethod.Get)
public list getLogs(@RequestParam(value="from") String from,@RequestParam("to") String to)){....}
当我使用
时,它可以正常工作 @RequestMapping(value="logs/date/from={from}&to={to}",method=RequestMethod.Get)
public list getLogs(@PathVariable(value="from") String from,@PathVariable("to") String to)){....}
但是我需要该网址包含“?”在传递参数之前,所以当我替换
时 @RequestMapping(value="logs/date/from={from}&to={to}",method=RequestMethod.Get)
与此
@RequestMapping(value="logs/date?from={from}&to={to}",method=RequestMethod.Get)
我得到了GET方法不受支持的错误。
答案 0 :(得分:3)
您编写RequestMapping值的方式不正确。您无需在from={from}&to={to}
字段中写value
。正确的方法如下:
@RequestMapping(value="/logs/date",method=RequestMethod.GET)
public String getLogs(@RequestParam(value="from") String from,@RequestParam("to") String to)){....}
现在您可以使用URL进行API调用
http://localhost:8080/log/date?from=fromText&to=toText
答案 1 :(得分:2)
这不是您应该采取的方式。
对于@PathVariable
,您可以这样做,但对于请求参数,应从前端本身定义。
因此不要在控制器或后端中执行此操作。