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

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

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

@RestController
@RequestMapping("/api") 
public class DemoController {

    @Autowired
    Students students;

    @PostMapping("/saveStudentInfo")
    public String saveStudentInfo(@RequestBody Students stud) {
        students.setId(stud.getId());
        students.setStudentName(stud.getStudentName());
        students.setSchoolInfo(stud.getSchoolInfo());
        return "Saved Sucessfully";
    }

    @GetMapping("/getStudentSchool")
    public School getStudentSchool()
    {
        return students.getSchoolInfo();
    }

}

@Component
@SessionScope
public class School {

    private int id;
    private String name;
    private String address;

    // Getter+Setter+Constructor+toString
}

@Component
@SessionScope
public class Students {

    private int id;
    private String studentName;
    private School schoolInfo;

    // Getter+Setter+Constructor+toString
}

要测试的json

{
    "id":1,
    "studentName":"Alan Walker",
    "schoolInfo":{
        "id":101,
        "name":"St. John's",
        "address": "Street 5"
    }
}

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

暂无答案!

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

相关问题