使用@sessionscope在spring boot中存储会话数据是一种不好的做法吗?

xriantvc  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(353)

我有一个简单的spring boot应用程序,在其中我需要管理用户会话,所以为了理解spring boot中的会话维护,我创建了这个小演示,

  1. @RestController
  2. @RequestMapping("/api")
  3. public class DemoController {
  4. @Autowired
  5. Students students;
  6. @PostMapping("/saveStudentInfo")
  7. public String saveStudentInfo(@RequestBody Students stud) {
  8. students.setId(stud.getId());
  9. students.setStudentName(stud.getStudentName());
  10. students.setSchoolInfo(stud.getSchoolInfo());
  11. return "Saved Sucessfully";
  12. }
  13. @GetMapping("/getStudentSchool")
  14. public School getStudentSchool()
  15. {
  16. return students.getSchoolInfo();
  17. }
  18. }
  19. @Component
  20. @SessionScope
  21. public class School {
  22. private int id;
  23. private String name;
  24. private String address;
  25. // Getter+Setter+Constructor+toString
  26. }
  27. @Component
  28. @SessionScope
  29. public class Students {
  30. private int id;
  31. private String studentName;
  32. private School schoolInfo;
  33. // Getter+Setter+Constructor+toString
  34. }

要测试的json

  1. {
  2. "id":1,
  3. "studentName":"Alan Walker",
  4. "schoolInfo":{
  5. "id":101,
  6. "name":"St. John's",
  7. "address": "Street 5"
  8. }
  9. }

现在使用这种结构,
当我第一次发出post请求时,将数据保存在 Students 对象,然后当我使用get请求检索它时,我成功地接收到数据。
在这里,我需要在session中存储学生信息,所以我使用@sessionscope对它们进行了注解。
这是一种不好的做法还是有其他方法可以做到这一点。请帮忙。
谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题