Весной я разработал 2 микросервиса:
- UI-сервис
- Login-сервис, который также имеет UI (html -форма) для тестирования
Сервис пользовательского интерфейса использует сервис Login.
Если я тестирую только сервис Login, он открывает логин. jsp, но когда я использую его с помощью сервиса UI, он также открывает страницу из службы входа. Я хочу, чтобы страница входа в систему была взята из UI Service. Как я могу это сделать?
UI-сервис (код)
@RequestMapping("/log")
public String abc(HttpServletRequest request) {
final String uri = "http://localhost:8093/accounts/login";
RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);
return result;
//request.setAttribute("mode", "MODE_LOGIN");
}
@RequestMapping("/login-user")
private String getEmployees1(HttpServletRequest request) {
final String uri = "http://localhost:8093/login-user";
RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);
return result;
}
Логин-сервис (код) У меня это работает на порту 8093.
@RequestMapping("/accounts/login") //login
public String login(HttpServletRequest request) {
request.setAttribute("mode", "MODE_LOGIN");
return "login"; //if i test Login service only it opens login.jsp but when i consume this
using UI Service then also it opens page from Login service. I want that login page should be
taken from UI Service.
}
@RequestMapping ("/login-user") // checking user details in database
public String loginUser(@ModelAttribute User user, HttpServletRequest request) {
//ModelAndView model = new ModelAndView();
if(userService.findByEmailAndPassword(user.getEmail(), user.getPassword())!=null) {
return "index";
}
else {
request.setAttribute("error", "Invalid username and password!");
request.setAttribute("mode", "MODE_LOGIN");
return "login";
}
}
Я разместил следующие атрибуты MODE_HOME и MODE_LOGIN на странице JSP.