【发布时间】:2020-04-26 10:06:20
【问题描述】:
我在 Spring 中开发了 2 个微服务:
- UI 服务
- 一个登录服务,它也有用于测试的 UI (html-form)
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";
}
}
我在 JSP 页面中放置了以下属性 MODE_HOME 和 MODE_LOGIN。
如果我用登录服务和它的 UI 测试相同的代码,它工作正常,但在从 UI 服务消费时它正在使用 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`=?
但是当使用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对象,但当您从 UI 服务调用登录服务时,您似乎没有发送任何用户信息. -
@Jordan 我怎么发送那个?
标签: java mysql spring spring-mvc spring-rest