springboot树形结构代码
时间: 2023-10-12 19:20:31 浏览: 76
以下是一个简单的 Spring Boot 树形结构的代码示例:
首先,定义一个节点类,包含节点 id、节点名称、父节点 id 和子节点列表:
```java
public class Node {
private long id;
private String name;
private long parentId;
private List<Node> children;
// getters and setters
}
```
然后,编写一个服务类,用于构建树形结构:
```java
@Service
public class TreeService {
@Autowired
private NodeRepository nodeRepository;
public Node buildTree() {
// 获取所有节点
List<Node> nodes = nodeRepository.findAll();
// 构建根节点
Node root = new Node();
root.setId(0);
root.setName("root");
// 构建子树
buildSubTree(root, nodes);
return root;
}
private void buildSubTree(Node parent, List<Node> nodes) {
List<Node> children = new ArrayList<>();
for (Node node : nodes) {
if (node.getParentId() == parent.getId()) {
children.add(node);
buildSubTree(node, nodes);
}
}
parent.setChildren(children);
}
}
```
最后,编写一个控制器类,用于返回树形结构的 JSON 数据:
```java
@RestController
@RequestMapping("/tree")
public class TreeController {
@Autowired
private TreeService treeService;
@GetMapping("")
public Node getTree() {
return treeService.buildTree();
}
}
```
这样,访问 `/tree` 路径即可返回树形结构的 JSON 数据。