如何在rest服务接口里返回一个对象

我新建了一个rest服务接口
1
返回一个对象,对象的信息如下
2
在客户端,收到的响应如下
3

请问rest服务里如何返回一个对象的完整信息到客户端?只能自己手动序列化么?

系统可以序列化,但是需要配置相应的用户角色能访问该实体。比如下面这个例子配置了 Anonymous 角色能只读 Customer 实体:
image

如果你的 REST API 是匿名访问的,则需要按照上面的例子做相关配置。另外,由于匿名角色的 session 是在系统启动时加载,配置完后需要重启系统。

配置完成后,重新调用 REST 接口就可以拿到数据了,我这里是 View.LOCAL 视图:
image

1 个赞

如果我的实体的属性是对象型属性,那我是不是也要把这个属性对应的类型的权限分配给Anonymous?但是我尝试过给Anonymous赋相关的权限,但是还是没起效果?
1
2
3

是的。分配给 anonymous 之后重启服务了吗?

重启过的:disappointed_relieved:

query 怎么写的?跟一下取出来的 result 里面有没有取出来属性的对象?

对象型属性取出来全部为null,但是在数据库里是有值的,不然我也不能通过关联对象的code查询到这个对象。
1

query就是1楼截图里的写法

用DataManager吧,不受权限影响

不要自己new view set进去,要用他的setView(class,viewName)重载。问题解决了。

看你最初的代码里就是用的 setView(class,viewName), 你说的

怎么理解?

正确写法:query.setView(class,viewName)
错误写法:query.setView(new View(class,viewName))

我后来手贱修改了写法

2 个赞