SAP CAP篇四:为CAP添加Fiori Elements程序(1)

本系列文章

SAP CAP篇一: 快速创建一个Service,基于Java的实现
SAP CAP篇二:为Service加上数据库支持
SAP CAP篇三:定义Model
SAP CAP篇四:为CAP添加Fiori Elements程序(1)
SAP CAP篇五:为CAP添加Fiori Elements程序(2)
SAP CAP篇六:为CAP添加Fiori Elements程序(3)
SAP CAP篇七:为CAP添加Fiori Launchpad入口 (Sandbox环境)
SAP CAP篇八:为CAP添加App Router并支持Fiori Launchpad (Sandbox环境)
SAP CAP篇九:升级为SAP CDS 7.0, CAP Java 2以及Spring Boot 3
SAP CAP篇十:理解Fiori UI的Annoation定义
SAP CAP篇十一:支持Media Object:图片、附件等
SAP CAP篇十二:AppRouter 深入研究

业务场景及Service定义

添加Fiori Elements程序之前,首先先定义业务场景。SAP CAP 采用Book Shop作为业务场景,我们不妨也使用类似的业务背景。

使用如下的简易Model:

  • Book Category。
  • Book。
  • User Wish List。

其中,Book Category以及Book只能被Admin维护。普通用户可以查看Book并将其添加到Wish List

至于是Wish List还是Shopping List,对本篇主要是阐述“添加Fiori Elements程序”而言,没有本质区别。

DB Schema

首先,看看DB Schema的定义:

entity Books : cuid, managed {
    title    : localized String(111);
    descr    : localized String(1111);
    stock    : Integer;
    price    : Decimal(9,2);
    currency : Currency;
    category : Association to Categories;
}

entity Categories : CodeList {
    key ID   : Integer;
    parent   : Association to Categories;
    children : Composition of many Categories on children.parent = $self;
}

entity WishLists: managed {
    key userID  : User;
    key book    : Association to  Books;
}

Service的定义

这里,定义两个Service。

AdminService

这个Service是给后台Admin使用的。

using { alvachien.learncap.db as db } from '../db/schema';

service AdminService {
    entity Books as projection on db.Books;
    entity Categories as projection on db.Categories;
    
}

BookService

这个Service是给前台用户使用的。

service AdminService {
    @readonly
    entity Products   as projection on db.Books;
    @readonly
    entity Categories as projection on db.Categories;

    entity WishLists as projection on db.WishLists;
}

添加app文件夹

在项目文件夹中,创建app文件夹。这里的app文件夹实际上为approuter准备的,但是这个文件夹在本地开发测试的时候也非常有用。

未完待续。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值