SAP Cloud Application Programming 裡的@(path) 註解

注销發表於2021-04-11

標題: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的原創文章,盡在:"汪子熙":

相關文章