Я разработал 2 микросервиса весной:
- UI-сервис
- служба входа, которая также имеет пользовательский интерфейс (html-форму) для тестирования
UI-service использует Login-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";
}
@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-странице.
Тот же код, если я тестирую службу входа в систему с ее пользовательским интерфейсом, он работает нормально, но при использовании службы пользовательского интерфейса он принимает значение null
. Я могу использовать службу, но в консоли (console.log
) отображается следующее значение, когда используется одна и та же служба:
select user0_.id as id1_0_, user0_.`email` as email2_0_, user0_.`fname` as fname3_0_,
user0_.`lname` as lname4_0_, user0_.`pwd` as pwd5_0_, user0_.`phone` as phone6_0_ from user
user0_ where user0_.`email`=? and user0_.`pwd`=?
Но при использовании Login-service от другого с помощью restTemplate
:
select user0_.id as id1_0_, user0_.`email` as email2_0_, user0_.`fname` as fname3_0_,
user0_.`lname` as lname4_0_, user0_.`pwd` as pwd5_0_, user0_.`phone` as phone6_0_ from user user0_
where (user0_.`email` is null) and (user0_.`pwd` is null)
Я новичок в этом.
В чем может быть проблема?
User
, но не похоже, что вы отправляете какую-либо информацию о пользователе при вызове службы входа из службы пользовательского интерфейса. - person Jordan   schedule 08.01.2020