標題:SAP Cloud Application Programming 裏的@(path:'/browse')
service 實現的 .cds 文件源代碼:
using { sap.capire.bookshop as my } from '../db/schema';
service CatalogService @(path:'/browse') {
@readonly entity Books as SELECT from my.Books { *,
author.name as author
} excluding { createdBy, modifiedBy };
@readonly entity ListOfBooks as SELECT from Books
excluding { descr };
這個@(path:'/browse'),相當於 Spring 裏的@Path 註解。
as SELECT from my.Books : 和 SAP ABAP CDS view 語法類似,指定 entity 的主數據源。
my 是 別名,完整的數據庫表名爲 sap.capire.bookshop,通過 using 關鍵字,將表名同別名關聯起來。
author.name as author: 該語法也和SAP ABAP CDS view類似,因爲 author 是 Books entity裏一個 association,故使用 .name 訪問 association target entity,Author 的 name字段。
excluding { createdBy, modifiedBy } : 暴露給 OData 的字段不包括 createdBy 和 modifiedBy 字段。
@readonly entity ListOfBooks as SELECT from Books excluding { descr } :類 SQL 語句,從 Books 裏讀取除了 descr 之外的所有字段。
最後的效果:
http://localhost:4004/browse/Books:
http://localhost:4004/browse/ListOfBooks:
更多Jerry的原創文章,盡在:"汪子熙":