RoleHierarchyService.getRoleHierarchyExpr()返回值对吗?
来源:7-6 使用 AOP 动态刷新角色层级

慕UI8284076
2024-04-10
RoleHierarchyService文件内容:
package com.doc.SpringSecurity.security.rolehierarchy;
import com.doc.SpringSecurity.model.dao.RoleMapper;
import com.doc.SpringSecurity.model.pojo.Role;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@RequiredArgsConstructor
@Service
public class RoleHierarchyService {
private final RoleMapper roleMapper;
public String getRoleHierarchyExpr() {
List<Role> roleList = roleMapper.findAll();
return roleList.stream()
.flatMap(role -> role.getAuths()
.stream()
.map(auth -> role.getRoleName() + " > " + auth.getAuthority() + "\n")
)
.collect(Collectors.joining("", "ROLE_ADMIN > ROLE_STAFF", "\n"));
}
}
调用该Service
@GetMapping("/getRoleHierarchy")
public String RoleHierarchy() {
return roleHierarchyService.getRoleHierarchyExpr();
}
结果:
ROLE_ADMIN > ROLE_STAFFROLE_USER > USER_READ
ROLE_ADMIN > USER_UPDATE
ROLE_ADMIN > USER_READ
ROLE_ADMIN > USER_CREATE
ROLE_ADMIN > USER_ADMIN
这个结果对吗?第一行里 ROLE_STAFFROLE_USER 没有任何分隔符?是不是中间有什么东西?
请帮忙详细回答下,中间应该是什么分隔符,代码应该怎么改正?
千万别模糊回答,前几次问,几乎没回答。
写回答
1回答
-
接灰的电子产品
2024-04-10
ROLE_ADMIN > ROLE_STAFF 后面是 \n 啊,如果你的结果不对,有可能是 windows 的换行需要使用 `\r\n` 来表示,这个把上面的代码中的 `\n` 替换一下就行。但是这个仅仅是显示的时候会有问题,实际使用并不会有问题
00
相似问题