Привет всем,
Как сделать следующее.
Надо поддержать следующее множество запросов:
GET /users?userId=1
GET /users?userId=1&pageNumber=0&pageSize=1000
GET /users?userId=1&addressId=1
GET /users?userId=1&addressId=1&pageNumber=0&pageSize=1000
Причем хотелось бы в своем коде обрабатывать ситуации, что забыли один из pageNumber или pageSize, например:
/users?userId=1&pageSize=1000 (забыли pageNumber)
/users?userId=1&pageNumber=0 (забыли pageSize)
Вижу следующие пути:
1)
@RequestMapping(method = RequestMethod.GET, value= "/users")
HttpServletRequest.getParameterMap()
В этом случае, нужно самому писать парсинг параметров. В принципе ок, но можно ли избежать самостоятельного парсинга строк (
HttpServletRequest.getParameterMap() возвращает Map<String, String[]>)? Может можно что-нибудь вызвать для этого?
2)
@RequestMapping(method = RequestMethod.GET, value ="/invoices", params = {"userId", "pageNumber", "pageSize"})
@RequestMapping(method = RequestMethod.GET, value ="/invoices", params = {"userId", "addressId", "pageNumber", "pageSize"})
Тогда непонятно, как сделать pageNumber и pageSize опциональными.
Заранее спасибо!