#spring
#spring
Вопрос:
Я пытаюсь получить данные с URL-адреса с двумя параметрами, подобными этому:
http://localhost:80000/xxx/xxx/tickets/search?codprovincia=28amp;municipio=110000
Независимо от подхода, я всегда получаю ошибку 400, но если я обращаюсь к URL-адресу без двух параметров, контроллер возвращает представление правильно (естественно, без параметров)
Это код моего контроллера:
@Controller
@RequestMapping(value = "/xxx" )
public class BuscadorIncidenciasController extends BaseControllerWeb {
@RequestMapping("tickets")
public String tickets(Model model, @RequestParam ("codprovincia") String codprovincia, @RequestParam ("municipio") String municipio, HttpServletRequest request) throws NoAjaxException {
//...
return CONST.JSP_VIEW;
}
...}
Дополнительная информация: если я использую этот URL-адрес:
http://localhost:9081/xxx/xxx/tickets/search/28/790000
И этот код:
@Controller
@RequestMapping(value = "/xxx" )
public class BuscadorIncidenciasController extends BaseControllerWeb {
@RequestMapping(value = "buscar/{codprovincia}/{municipio}", method = RequestMethod.GET)
public String buscar(@PathVariable Integer codprovincia, @PathVariable Integer municipio ,Model model, HttpServletRequest request) throws NoAjaxException {
//...
return CONST.JSP_VIEW;
}
...}
Он правильно получает параметры. Проблема в том, что я должен использовать первый URL-адрес. Я рассмотрел похожие вопросы о похожих проблемах и внедрил решения этих проблем, но я получаю ошибку 400 независимо от того, что я пытаюсь (добавить значение =»xxx =, требуется = false и другие предложения.)
Ответ №1:
Для параметра запроса необходимо явно добавить атрибут ‘name’
@RequestParam(name = "codprovincia"), @RequestParam (name = "municipio")
Нет необходимости запрашивать HttpServletRequest, если у вас нет причин
Кроме того, в вашем методе «tickets» сопоставление запросов не соответствует вашему URL-пути. Я думаю, что это должно быть
@RequestMapping("/xxx/tickets/search")
Приветствия!
Комментарии:
1. Атрибут ‘name’ решил проблему, я постоянно пытался использовать ‘value’! Спасибо!