java修改rest服务中GET的url路径
我实现了一个简单的rest GET服务,我想修改该服务的ulr
现在的url是:http://localhost:8011/types/id?date=2019-07-30T11:35:42
我想添加一个过滤器,并在日期中添加一些括号[]
像这样:http://localhost:8011/types/id过滤器[日期]=2019-07-30T11:35:42
这是我的Get服务,在值中我有“types/id”,但我不知道如何为请求的参数添加过滤器和括号
@RequestMapping(value = "types/id", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<?> getTicketids( @RequestParam(required = false) String date)
{
...
}
如果能给我一些建议,比如我可以改变什么或者我应该读什么,我将不胜感激
# 1 楼答案
为什么要将方括号添加到RequestParam?是不是因为您希望有多种过滤器,并希望区分它们?在这种情况下,您可以添加两个请求参数-
另外,确保这些值是url编码的,以避免字符串的任何部分使url无效
希望,这有帮助
# 2 楼答案
不要在URL中使用方括号,我建议您传递一个您想要的过滤器列表,如下所示:
http://localhost:8011/types/id?filters=firstValue,secondValue,thirdValue
并按如下方式更改控制器:
# 3 楼答案
我假设您正在使用Spring定义RestController。通常,参数的工作方式如下:
此代码允许请求http://localhost:8011/types/id?filterDate=mydate
但是,方括号是not allowed in an URL,因此您可能需要重新考虑该特定方法