Обработка запроса от нескольких методов - PullRequest
0 голосов
/ 27 сентября 2018

В настоящее время я работаю над приложением весенней загрузки.У меня есть пользовательские данные, хранящиеся в хранилище.Обычно я прикрепляю пользовательские данные в каждом контроллере (это необходимо, если пользователь аутентифицирован).Но если я введу несопоставленный URL-адрес, данные логически не будут переданы, и моя страница ошибки 404 не будет загружаться правильно.

Я не могу просто использовать

@RequestMapping(value="**",method = RequestMethod.GET)
    public String getAnythingelse(){
    return "redirect:/404.html";
}

, потому что я обрабатываю свои URL-адресараспространять на разные классы контроллеров.

Это приводит к вопросу о том, как я могу решить эту проблему?

У меня было бы две теоретические попытки, но я не знаю, как я это сделал бы: 1)Так или иначе, у метода map-any очень низкий приоритет, поэтому он будет вызван в конце.2) Вызвать метод map-any, но как заставить систему вызывать другие методы.

РЕДАКТИРОВАТЬ: Даже если я добавлю его, например, в мой контроллер индекса, это сделает сайт полностью неформатированным.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Я думаю, что этот код может помочь вам достичь вашей страницы ошибки: https://gist.github.com/jonikarppinen/662c38fb57a23de61c8b

0 голосов
/ 27 сентября 2018

Ну, вы можете создать DefaultController для вашего проекта и использовать аннотацию RequestMapping.Я попробовал этот кусок кода:

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping(value="**")
public class DefaultController {

    @RequestMapping(method = RequestMethod.GET)
    public String getAnythingElse(){
        return "redirect:/404.html";
    }

}

Я думаю, что он делает именно то, что вы хотите, но в моем случае это прерывает мой swagger-UI.

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