LoginSignup
3
0

SAP HANA Cloud DBをOData化してAPI Managementに登録する

Last updated at Posted at 2022-12-11

本記事でやりたいこと

Step1.SAP BTP上に作成したDBをOData化して外部から連携できるようにする
Step2.公開したODataをAPIManagementに登録してAPIとして管理する

開発はBTP上で実施するのでバージョンなどは省略

Step1.SAP BTP上に作成したDBをOData化して外部から連携できるようにする

このチュートリアルに沿ってアプリ開発を勧めてください
この記事でやりたいことのためには画面の作成は不要です

Step2.公開したODataをAPIManagementに登録してAPIとして管理する

上記はCloud IntegrationのiFlowを登録する手順ですが同様の手順でAPI Managementに登録します
※S/4HANAと同様の方法でODataを登録する事ができない

Step3.ODataをカスタマイズする

こちらのチュートリアルStep2-9のようにAPI仕様を手書きで書くのはしんどいと思います(私はしんどい)
APIの利用自体はできるけど仕様がわからないのは不便
プロジェクトによってはこういうのをAPI仕様書として利用する場合もあると思うので追加していきます

BTPのBusiness Application Studioに戻ります(VSCとかで開発してる人はそちらへ)

Terminalから以下のコマンドを実行

npm add --save-dev cds-swagger-ui-express

以下のserver.jsファイルを作成

server.js
const cds = require ('@sap/cds')
module.exports = cds.server

if (process.env.NODE_ENV !== 'production') {
  const cds_swagger = require ('cds-swagger-ui-express')
  cds.on ('bootstrap', app => app.use (cds_swagger()) )
}

ローカル実行して動作確認してください

cds build
npm start

image.png
metadataからOpne API Previewのリンクが増えていると思います
リンク先を確認するとデータモデルなどを視覚的に確認することができます

image.png

Terminalからコマンドを実行するとdocs配下にswaggerの定義ファイルを生成できます
このファイルをローカルにダウンロードしておきます

cds compile srv --service all -o docs --to openapi

image.png

APIMのカスタマイズ

Step1で作成したAPIを開きます
image.png

API画面右上からEdit in API Designerを開きます

image.png
画面上部のボタンからimportを選択し、先程ダウンロードしたファイルをインポートします
インポート前に以下の編集を忘れないでください
一部jsonを抜粋します

{
  "openapi": "3.0.2",
  "info": {
    "title": "Service for namespace CatalogService",
    "description": "This service is located at [/catalog/](/catalog/)",
    "version": ""
  },
  "x-sap-api-type": "ODATAV4",
  "x-odata-version": "4.0",
  "x-sap-shortText": "Service for namespace CatalogService",
  "servers": [
    {
      "url": "/catalog" //ここをデプロイURLまたはAPIManagementのURLに変更
    }
  ],

image.png
APIManagementからAPI仕様が確認できるようになりました

参考URL

cds-swagger-ui-express

Add the Consumption of an External Service to Your CAP Application

SAP Cloud Application Programming Model(CAP)

Welcome to CAP The Cloud Application Programming Model

3
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0