我本不打算写这篇文章,但是我从一些同事那里得到了一些问题,关于如何通过XSOData公开CDS视图,所以这里是
一如既往,感谢您阅读这篇文章。
在创建XSOData服务之前,让我们先假设您已经创建了一个带有表/视图的CDS文档,并且您已经准备好公开您的数据模型。如果您还没有完成这些步骤,请参阅我的第一个CDS博客,物联网行业,创建一个CDS文档并构建一个表/视图
1)第一步是创建一个.xsaccess文件,以便我们可以公开我们的服务。确保您设置了属性expose:true,购物返利平台,并且您还需要设置其身份验证方法。在我的情况下,我不想添加身份验证,因为我使用的是HCPtrial,但是,您可以使用null(表示无身份验证)、Basic(表示用户名和密码)、Form等。请使用XS Admin工具进行其他身份验证方法,如SAML、X509 certs等。请查看xsaccess文件的官方文档
同时创建一个空文件.xsapp
2)创建.xsodata文件(我正在公开我在博客2上创建的视图)公开xodata服务的终结点时,请确保您的终结点包含密钥,否则,您可以使用动态生成的密钥,正如我在下面所做的
3)一旦您创建了.xsodata文件并成功激活它,请运行您的服务用箭头单击绿色图标(参见上面的屏幕截图)。您的服务将在浏览器上的单独选项卡上运行,并将显示服务的XML。这里需要注意的一点是,什么是物联网,我在.xsodata服务上的端点被公开为"事件",而这正是我在浏览器上的xsodata服务上的端点(下面的屏幕截图)
4)您的下一步将是探索端点,以及将返回的数据,等等。由于特权不足,我无法运行我的服务,因为我在HCP试用帐户上运行此服务,但是如果您能够激活您的服务并可以从浏览器中查询,那么您应该能够看到odata服务返回的记录。
5)对于JSON格式的响应,云购全球,请在您的服务URL末尾包含$format=json.
a)。URL\主机/路径/到/服务/端点?$format=json
您还可以通过在URL端点的末尾附加查询字符串参数来执行其他查询运算符。
这里有一些:
$top=1用于第一条记录
$filter=COLUMN eq'value用于筛选列等于'value'的结果
$format=json用于json格式的响应
$orderby=COL\u a用于排序COL_A的回复
有关OData操作和语法的更多信息,请访问OData官方文档
再次感谢,希望这对其他人有所帮助。一如既往,请分享您的经历和奋斗历程,并随时提出问题。
快速更新:我能够找到如何运行xsodata服务并成功返回数据-抱歉,我花了一段时间更新此博客-
我们必须创建一个hdbrole,云服务器特价,并将sql对象分配给它,我们需要访问它,以及它的类型特权(选择/插入/删除)。在HCP试验中hdbrole只有一个问题。。图形编辑器似乎有问题,所以我创建的hdbrole是通过文本编辑器创建的path.name.to路径.myrole{
sql object:SELECT;
}
在这里我只显示了一行,但是角色中可能有多行。一旦角色被激活,就转到sql控制台并将角色授予一个用户,在我的情况下,我跟随这个帖子
它告诉我如何做。
调用"HCP"。"HCP\u grant\u role\u to\u user"("","")
希望这对其他人有帮助!