Java 使用post-Spring引导将新用户写入JSON文件
我想用spring boot将新的用户对象附加到json文件中。 数据是通过一个post从一个角度表单发送到我的spring boot后端的,在每次新注册时,都需要向json文件添加一个用户 我正在尝试使用outputstream写入位于我的resources文件夹中的json文件,但它似乎不起作用,因为fileoutputstream找不到该文件 我的代码:Java 使用post-Spring引导将新用户写入JSON文件,java,spring,spring-boot,Java,Spring,Spring Boot,我想用spring boot将新的用户对象附加到json文件中。 数据是通过一个post从一个角度表单发送到我的spring boot后端的,在每次新注册时,都需要向json文件添加一个用户 我正在尝试使用outputstream写入位于我的resources文件夹中的json文件,但它似乎不起作用,因为fileoutputstream找不到该文件 我的代码: @PostMapping(path = "/api/register", consumes = "appl
@PostMapping(path = "/api/register", consumes = "application/json")
public String addUser(@RequestBody User user) {
User newUser = new User(user.getfirstName(), user.getLastName(), user.getEmail(), user.getPassword());
FileOutputStream fileOutputStream = new FileOutputStream(Paths.get("src/main/resources/data/users.json"));
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, StandardCharsets.UTF_8);
BufferedWriter writer = new BufferedWriter(outputStreamWriter);
// write the user to the file
writer.write(newUser);
writer.flush();
return "user is added";
}
- 这是将新用户直接写入文件的正确方法吗(不能覆盖文件中已有的用户)?还是最好将它们添加到arraylist中,然后将数组列表写入该文件
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
FileOutputStream outputStream = new FileOutputStream(new File(classLoader.getResource("data/users.json").getFile()));
另外,如果首先在数组列表中添加用户,然后写入文件,这会导致数据存储在RAM中,如果服务器在某个点停机(在将数组列表写入文件之前),数据将丢失为什么不使用数据库?这样更容易,也更漂亮。感谢这项工作,我最终将使用数据库。但现在我想将它存储在一个JSON文件中,直到我知道如何使用它并将其保存在MySQL数据库中。