標題: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/...
http://localhost:4004/browse/...
更多Jerry的原創文章,盡在:"汪子熙":