попытка переслать запрос get на запрос post возвращает не поддерживаемую ошибку Spring - PullRequest
0 голосов
/ 01 июня 2018

Это якорный тег на странице jsp, вызывающий URL-адрес get, с которого я пересылаю запрос на публикацию. Call1 call1url ударил запрос на получение в контроллере

@RequestMapping(value = "/call1url", method = RequestMethod.GET)
    public String make(HttpServletRequest request) {

        return "forward:/manctril";

    }

, чтобы переслать запрос на публикацию вконтроллер

@RequestMapping(value = "/main", method = RequestMethod.POST)
        public String make2(HttpServletRequest request) {

            return "forward:/dash";

        }

при попытке выполнить вышеприведенное возвращает ошибку, похожую на

There was an unexpected error (type=Method Not Allowed, status=405).
Request method 'GET' not supported

Возможна ли моя попытка или пока она не удалась

1 Ответ

0 голосов
/ 01 июня 2018

Я не думаю, что вызов GET to POST можно выполнить с сервера с помощью redirect or forward. Вам нужно изменить дизайн своего Решения.Вы можете попытаться достичь этого, используя следующий способ:

a.Вы привязываете Tag к POST-вызову контроллера, используя JS или AJAX, и затем можно выполнить POST-запрос к другому POST, как показано ниже, установив атрибут запроса

request.setAttribute(View.RESPONSE_STATUS_ATTRIBUTE, HttpStatus.TEMPORARY_REDIRECT);

@RequestMapping(value = "/call1url", method = RequestMethod.POST)
    public String make(HttpServletRequest request) {

        request.setAttribute(View.RESPONSE_STATUS_ATTRIBUTE, HttpStatus.TEMPORARY_REDIRECT);
        return "forward:/main";

    }

    @RequestMapping(value = "/main", method = RequestMethod.POST)
    public String make2(HttpServletRequest request) {

        return "dash";

    }

b.Ваш тег привязки должен перейти к вызову GET, который должен отобразить страницу jsp / html, а затем autosubmit jsp как POST для загрузки страницы / тела, как показано ниже,

<body onload="document.forms['redirectToURLForm'].submit()">

<form:form method="POST" id="redirectToURLForm"
        name="redirectToURLForm" action="main">
</form:form>

</body>

Это вызоветметод POST /main.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...