HI,后端返回时debug,字段都有值,但是前端接收到的数据只有两个字段,是何原因?
后端debug:
前端接收:
这种一般是因为角色的读取限制给过滤了。
看log,一般会提示。 或者直接查角色的实体访问权限。
Hi,读取限制过滤的话,查询的时候也应当查不出来才对吧?
log中并没有提示,我初步怀疑是实体的问题。试了一下如果不用实体映射nativeQuery的话,返回的list可以正常接收:
但是应该也不是view的问题,否则debug的时候会直接看不到属性
因为我亲身经历过没有设置权限,拿到的数据跟你的一样。
下面这个是访问检查机制:
https://doc.cuba-platform.cn/manual-latest/data_access_checks.html
Sorry,An,
我还是不太明白这个是怎么查的,是指 REST API /services
会在里面提到的情况下检查权限吗?但是我的请求都是用的admin的token。
不过这个问题在换了Map接收之后可以正常接到其他的属性了
权限这块,7.2以后 [REST API 插件]需要定义其自有的REST权限范围,默认都是不让访问的,admin也不例外。 这里有个例子: 如何在rest服务接口里返回一个对象
因为角色这块是cuba的功能,所以脱离了cuba的代码就不会生效,所以自己写的代码不会过滤。
从结果看,数据在中间层查出来,返回到client层的时候做了过滤。
我这边也测了下,不显式配置权限,拿不到属性跟你一开始结果一样,显式配置了,才有数据。
感谢,大致明白了,我们的restapi是7.1.0的,后续我配一下权限试试
从文档看,7.1.0不需要显式配置权限的。 不过你可以有空配置看看是不是能拿到数据了。