spring boot rest api : 显示信息错误

spring boot rest api : wrong with showing information

我已经使用 spring boot 和 Jersy 写了一个 rest API,我的请求有问题。 当我执行获取请求时,它会向我显示一百多次结果。 这是我的控制器 class

@RestController
public class UserController {
  @RequestMapping("/users")
public List<User> getAllUsers(){
    return new UserService().getAllUsers();
}
@RequestMapping("/users/{id}")
public User getUser(@RequestParam int id) {
    return new UserService().getUser(id);
}
}

这是我的服务class

@Service
public class UserService {
SessionFactory factory = new Configuration()
                             .configure("hibernate.cfg.xml")
                             .addAnnotatedClass(User.class)
                             .addAnnotatedClass(UserProfile.class)
                             .buildSessionFactory();

public UserService() {

}

public List<User> getAllUsers(){
        Session session = factory.getCurrentSession();
        session.beginTransaction();
        List<User> users = session.createQuery("from User").list();
        session.getTransaction().commit();
        session.close();
        return users;
}


public User getUser(int id) {
    Session session = factory.getCurrentSession();
    session.beginTransaction();
    User user = session.get(User.class, id);
    session.getTransaction().commit();
    session.close();
    return user;
}


}

这是显示

的结果
[{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":{"id":7,"name":"mohammad","email":"mohammadpakivand@gmail.com","userProfile":{"id":1,"lastName":"pakivand","number":"09362762537","user":

此用户 class 与 UserProfile class

具有一对一关系

首先。您的 UserService 被注释为服务。这意味着在引导 Spring 期间创建了一个实例,并将此 UserService 实例放入 SpringContext 中。您的 Restcontoller 也是 SpringContext 的一部分。然后你可以将你的服务注入你的控制器。

@RestController
public class UserController {

// Here is where the injection takes place
@Autowired
private UserService userService;

  @RequestMapping("/users")
public List<User> getAllUsers(){
    return userService.getAllUsers();
}
@RequestMapping("/users/{id}")
public User getUser(@RequestParam int id) {
    return userService.getUser(id);
}
}

其次。 为什么在只读操作期间使用并提交事务。

第三。您的用户 class 的代码是什么?