Я хочу вернуть объект JSON с информацией из двух разных классов.Как я хочу, чтобы имя пользователя из класса User и rolename
из класса Role
вместе в одном объекте JSON.
Мой текущий код:
@Entity
@DynamicUpdate
public class User {
private String username;
private String phone;
private String email;
private Set<Role> role;
}
@Entity
public class Role {
private int idRole;
private String name;
}
@Projection(name = "CustomUser", types = {User.class})
public interface CustomUser {
String getUsername();
RoleTest getRole();
interface RoleTest {
String getName();
}
}
@Repository
public interface UserRepository extends JpaRepository<User, Integer> {
List<CustomUser> findAllBy();
}
@Controller
@RequestMapping
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping
@ResponseStatus(HttpStatus.ACCEPTED)
public @ResponseBody List<CustomUser> getAllUsers() {
return userRepository.findAllBy();
}
}
Что я в настоящее время получаю:
{
"role": {
"name": "ADMIN"
},
"username": "test"
}
Однако моя цель - получить что-то вроде этого:
{
"role": "ADMIN",
"username": "test"
}