Springboot WebFlux项目结合mongodb进行crud

第一步:创建项目

Springboot WebFlux项目结合mongodb进行crud_第1张图片

Springboot WebFlux项目结合mongodb进行crud_第2张图片

第二步:给mongodb插入数据

Springboot WebFlux项目结合mongodb进行crud_第3张图片

第三步:创建实体类

package org.cyl.test02.entity;// Task.java
import lombok.Data;

@Data
public class Task {
    private String id;
    private String description;
}

Springboot WebFlux项目结合mongodb进行crud_第4张图片

第四步:创建Repository

引入依赖

 
        
            org.springframework.boot
            spring-boot-starter-data-mongodb-reactive
        

创建TaskRepository接口

package org.cyl.test02.repository;// TaskRepository.java
import org.cyl.test02.entity.Task;
import org.springframework.data.repository.reactive.ReactiveCrudRepository;

public interface TaskRepository extends ReactiveCrudRepository {

}

第五步:创建Controller

package org.cyl.test02.controller;// TaskController.java
import org.cyl.test02.entity.Task;
import org.cyl.test02.repository.TaskRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

@RestController
@RequestMapping("/tasks")
public class TaskController {

    @Autowired
    private TaskRepository taskRepository;

    @GetMapping
    public Flux getAllTasks() {
        return taskRepository.findAll();
    }

    @GetMapping("/{id}")
    public Mono getTaskById(@PathVariable String id) {
        return taskRepository.findById(id);
    }

    @PostMapping
    public Mono createTask(@RequestBody Task task) {
        return taskRepository.save(task);
    }

    @PutMapping("/{id}")
    public Mono updateTask(@PathVariable String id, @RequestBody Task task) {
        task.setId(id);
        return taskRepository.save(task);
    }

    @DeleteMapping("/{id}")
    public Mono deleteTask(@PathVariable String id) {
        return taskRepository.deleteById(id);
    }
}

第六步:配置yml文件

spring:
  data:
    mongodb:
      uri: mongodb://localhost:27017/student

运行结果

Springboot WebFlux项目结合mongodb进行crud_第5张图片

Springboot WebFlux项目结合mongodb进行crud_第6张图片

你可能感兴趣的:(spring,boot,后端,java,mongodb,spring,flux)