在休息控制器中我们如何以键和值形式传递值url

时间:2018-03-20 07:35:13

标签: java rest spring-mvc

这是我的休息控制器代码

 @RequestMapping(value = "/?username={username}&password={password}", method = RequestMethod.GET, produces = {MediaType.APPLICATION_JSON_VALUE})
 @ResponseStatus(value= HttpStatus.OK)
 public UserDetails getUserDetails(@PathVariable("username") String username , @PathVariable("password") String password )
 {

     System.out.println("This is controller"+username+","+password);
     UserDetails userDetails = userService.loadUserByUsername(username);
     System.out.println("Get Password "+userDetails.getPassword());
     if(userDetails.getUsername().equals(username) && userDetails.getPassword().equals(password))
     {
         return userDetails;
     }
     return null;
 }

当我在邮递员中传递url时,out pout将是

http://localhost:8080/hello/?username=abc@gmail.com&password=123456

out put必须返回json值,但它不会打印

2 个答案:

答案 0 :(得分:0)

首先,遵循标准是有帮助的。 现在回答您的问题,在这种情况下您可以使用@RequestParam。一个例子(因为我无法复制粘贴您的代码。请参阅!这会发生)。

@RequestMapping("urlstring")
  public String printUserDept (@RequestParam("dept") String deptName) {
  //your code
  return "viewname";
}

,您的网址将为example.com/urlstring?dept=departmentname

答案 1 :(得分:0)

 @RequestMapping(value = "/", method = RequestMethod.GET, produces = {MediaType.APPLICATION_JSON_VALUE})
 @ResponseStatus(value= HttpStatus.OK)
 public UserDetails getUserDetails(@RequestParam("username") String username , @RequestParam("password") String password )
 {

     System.out.println("This is controller"+username+","+password);
     UserDetails userDetails = userService.loadUserByUsername(username);
     System.out.println("Get Password "+userDetails.getPassword());
     if(userDetails.getUsername().equals(username) && userDetails.getPassword().equals(password))
     {
         return userDetails;
     }
     return null;
 }