Сортировка запроса Spring MVC для поиска ближайшего соответствия по параметрам. Сегодня мы столкнулись с хорошим примером того, почему эта текущая реализация проблематична. у нас есть 2 функции:Spring MVC @RequestMapping params issue
@RequestMapping(method = Array[RequestMethod](RequestMethod.DELETE), params = Array[String]("lastName", "firstName"), produces = Array[String]("application/json"))
def deletePersons1(request: HttpServletRequest, @RequestParam("lastName") lastName: String, @RequestParam("firstName") acref: String)
@RequestMapping(method = Array[RequestMethod](RequestMethod.DELETE), params = Array[String]("lastName", "birthDate"), produces = Array[String]("application/json"))
def deletePersons2(request: HttpServletRequest, @RequestParam("lastName") lastName: String, @RequestParam("birthDate") birthDate: Date)
запрос НТТР:
DELETE http://host:port/deletePersons?lastName=smith&firstName=john&birthDate=08-10-2015
Пользователи хотели удалить только Смит, Джон и считали, что они могли бы добавить дату рождения. Но так как первая функция не получает дату, а пользователь допустил ошибку и помещает туда дату, то в нашем случае вторая функция использовалась, так как она была ближе всего к совпадению. все же я не знаю, почему второй, а не первый.
В результате все люди с фамилией Смит, родившиеся в ..., были удалены.
Это настоящая проблема! потому что мы только хотели удалить конкретного человека, но в итоге удалили многих других.
Есть ли решение для этого?
спасибо за опечатку исправить, но это было только опечатка в моем вопросе не в реальном сценарии. – igreen
Вы правы в этом, но что, если перекрытие сложнее, больше перестановок. Мне нужно будет написать все нежелательные параметры? Разве это не было бы здорово, если бы весна позволила мне сказать, что я хочу только такие параметры? – igreen
Я думаю, что нет стандартного способа переключения этой интеллектуальной логики запроса-отображения. Самое близкое, что я нашел, это эта тема: http://stackoverflow.com/questions/31364657/can-spring-mvc-strictly-map-query-strings-to-request-parameters –