如何在 SAP BTP 平台上重用另一个已经开发好的 service
假設我們的 SAP Business Technology Platform 平臺上已經開發好了一個 products-service 項目:
我們希望在另一個 bookstore 項目里,重用 products-service 項目。
打開 products-service 項目,在 package.json 里找到其 name 的值:@sap/capire-products
創建一個 bookstore 項目:
mvn -B archetype:generate -DarchetypeArtifactId=cds-services-archetype -DarchetypeGroupId=com.sap.cds
-DarchetypeVersion=1.17.0
-DgroupId=com.sap.cap -DartifactId=bookstore
使用 open workspace 的功能打開這個項目:
執行如下命令行,安裝指向 products-service 項目的依賴:
npm install $(npm pack …/products-service -s)
成功安裝完畢,現在在 bookstore 項目里,就能看到其依賴 products-service 的實現了:
npm pack 從 products-service 創建一個 tarball,然后直接將其用作書店應用程序中的依賴項。 有關 npm 包的更多信息:https://docs.npmjs.com/cli-commands/pack.html。
使用下面的命令行安裝依賴:
npm install && npm dedupe
現在 bookstore 項目的 package.json 里,就能看到 products-service 項目的依賴了。
在 db 文件夾下新建一個 schema.cds 文件,維護 domain model:
在 srv 文件夾下創建一個 services.cds 文件:
在 db 文件夾下新建一個 data 文件夾,然后把 4 個 sample data 的 csv 文件放置進去。
使用命令行部署 domain model 到 sqlite:
cds deploy --to sqlite
自動生成了一個 sqlite.db 文件,該文件名維護在 package.json 文件里,文件位于項目根目錄下:
修改項目里的 Application.yaml 文件,將數據庫的位置指向剛剛運行的命令行 cds deploy --to sqlite 生成的 sqlite.db 文件。
第 11 行設置成 never 的原因是因為我們已經用命令行 cds deploy --to sqlite 對數據庫進行了初始化操作。
修改 Business Application Studio 的 settings.json 文件,添加如下內容:
"sqltools.connections": [{"name": "sqlite","dialect": "SQLite","database": "/home/user/projects/bookstore/sqlite.db"}]選擇 SQLTools:
可以看到剛才通過 csv 文件插入的數據:
使用如下 url:
https://workspaces-ws-pdwk4-app1.us10.trial.applicationstudio.cloud.sap/odata/v4/BooksService/Books
就能訪問到之前通過 sap.capire.bookstore-Books.csv 插入到 SQLite 里的數據了:
總結
以上是生活随笔為你收集整理的如何在 SAP BTP 平台上重用另一个已经开发好的 service的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络谣言的源头:AI 生成的假新闻网站被
- 下一篇: 如何导出wallpaper视频