Весенняя война ботинок. Ошибка при вызове конечных точек отдыха в JBoss - PullRequest
0 голосов
/ 06 мая 2020

Я развернул войну весенней загрузки на сервере приложений Jboss. Я использую ajax и xmlhttprequest для вызова rest apis, который я определил в RestCOntrollers. У меня есть конечная точка /login в одном из моих RestController, который возвращает json. когда я развертываю приложение во встроенном Tomcat, я могу получить доступ к конечной точке /login на 127.0.0.1:8080/login и войне на 127.0.0.1:8080/, поэтому я написал свой код javascript вот так

    var formData = new FormData();
    formData.append("username", username);
    formData.append("password", password);

    var xhr = new XMLHttpRequest();
    xhr.open("POST", "/login");

    xhr.onload = function () {
        console.log(xhr.responseText);
        var response = JSON.parse(xhr.responseText);
        if (xhr.status == 200) {
            if (response.sessionID == null) {
                document.getElementById("errormssg").innerHTML = '<div class="alert alert-danger" role="alert"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>Username or password incorrect.</div>';
            } else {
                window.location.replace("/home");
            }
        } else {
            document.getElementById("errormssg").innerHTML = '<div class="alert alert-danger" role="alert"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>Please try after some time.</div>';
        }

        setTimeout(function () {
            document.getElementById("errormssg").innerHTML = '';
            document.getElementById('signinbtn').disabled = false;
        }, 5000);
    }
    xhr.send(formData);
}

вот как Я написал код в RestController

@PostMapping("/login")
    public UserResponse loginUser(@RequestParam("username") String userName,
            @RequestParam("password") String passWord) {
        return loginService.connect(userName, passWord);
    }

, когда разворачиваю войну на JBoss. URL-адрес для доступа к моей войне становится serverIp:8080/warname. когда я вызываю свою конечную точку /login, используя приведенный выше код, я получаю статус «Не найдено» 404. Однако, когда я меняю /login на login и window.location.replace("/home") на window.location.replace("home"), он работает нормально. в чем проблема?

...