diff --git a/src/main/java/fr/plil/sio/web/mvc/Role.java b/src/main/java/fr/plil/sio/web/mvc/Role.java index 648b32b..fe7c79b 100644 --- a/src/main/java/fr/plil/sio/web/mvc/Role.java +++ b/src/main/java/fr/plil/sio/web/mvc/Role.java @@ -1,5 +1,6 @@ package fr.plil.sio.web.mvc; +import com.fasterxml.jackson.annotation.JsonBackReference; import org.springframework.security.core.GrantedAuthority; import javax.persistence.*; @@ -19,6 +20,7 @@ public class Role implements GrantedAuthority { private String name; @ManyToMany + @JsonBackReference @JoinTable( name = "USER_ROLE_T", joinColumns = @JoinColumn(name = "ROLE_ID", referencedColumnName = "ROLE_ID"), diff --git a/src/main/java/fr/plil/sio/web/mvc/User.java b/src/main/java/fr/plil/sio/web/mvc/User.java index b357b23..75ec6a9 100644 --- a/src/main/java/fr/plil/sio/web/mvc/User.java +++ b/src/main/java/fr/plil/sio/web/mvc/User.java @@ -1,6 +1,7 @@ package fr.plil.sio.web.mvc; +import com.fasterxml.jackson.annotation.JsonManagedReference; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; @@ -25,6 +26,7 @@ public class User implements UserDetails { private String password; @ManyToMany(mappedBy = "users", fetch = FetchType.EAGER) + @JsonManagedReference private Set roles = new TreeSet<>(); public Set getRoles() { diff --git a/src/main/java/fr/plil/sio/web/mvc/UserRestController.java b/src/main/java/fr/plil/sio/web/mvc/UserRestController.java index a8085cb..a646a59 100644 --- a/src/main/java/fr/plil/sio/web/mvc/UserRestController.java +++ b/src/main/java/fr/plil/sio/web/mvc/UserRestController.java @@ -1,5 +1,6 @@ package fr.plil.sio.web.mvc; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @@ -13,8 +14,13 @@ public class UserRestController { @Resource private UserService userService; - @RequestMapping(value = "/users/", method = RequestMethod.GET) + @RequestMapping(value = "/api/users/", method = RequestMethod.GET) public List listUsers() { return userService.findAll(); } + + @RequestMapping(value = "/api/users/{username}/", method = RequestMethod.GET) + public User listUsers(@PathVariable String username) { + return userService.findByUsername(username); + } } \ No newline at end of file -- libgit2 0.21.2