RestAPI中出现返回的字段与前端接收的字段不一致的情况,如何解决?

HI,后端返回时debug,字段都有值,但是前端接收到的数据只有两个字段,是何原因?
后端debug:
image
前端接收:
image

这种一般是因为角色的读取限制给过滤了。
看log,一般会提示。 或者直接查角色的实体访问权限。

Hi,读取限制过滤的话,查询的时候也应当查不出来才对吧?

log中并没有提示,我初步怀疑是实体的问题。试了一下如果不用实体映射nativeQuery的话,返回的list可以正常接收:
image

但是应该也不是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不需要显式配置权限的。 不过你可以有空配置看看是不是能拿到数据了。