java spring引导rest api:显示信息错误
我已经用spring boot和Jersy编写了一个RESTAPI,我对请求有问题。 当我执行get请求时,它会向我显示100多次结果。 这是我的控制器课程
@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);
}
}
这是我的服务课
@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":
此用户类与UserProfile类具有一对一的关系
# 1 楼答案
首先。用户服务被注释为服务。这意味着在引导Spring期间创建了一个实例,并将这个UserService实例放入SpringContext中。你的Restcontoller也是SpringContext的一部分。然后,您可以将服务注入控制器
其次。 为什么在只读操作期间使用并提交事务
第三。你的用户类的代码是什么