title: Open Banking API
version: v1
baseUri: http://api.openbanking.com/{version}

protocols:
- HTTP
- HTTPS

mediaType:
- application/json
- application/xml

以下是我們在上面代碼中聲明的Root屬性的描述:

最佳做法是在Root級別定義標題、版本、baseUri、mediaType 和協議。RESTful API 建模語言文件名采用小寫的字母數字字符,使用 kebab 大小寫(即連字符分隔)。

資源

這是您需要定義 API 資源的重要步驟之一,資源以 (/) 開頭。使用這些資源,您可以控制使用者或客戶端如何使用 API。

括在大括號中的資源是一個 uri 參數。URI 參數(Path Param)基本上用于標識一個或多個特定資源。

作為最佳實踐,資源名稱必須始終是復數形式,并且它應該是名詞而不是動詞。

/accounts:
/{accountId}:
/balances:
/transactions:
/{transactionId}:

方法

REST API 支持多種 HTTP 方法,如下所示:

我們可以為每個資源定義方法,并且每個資源可以有多個 http 方法。

API 應該只為資源提供名詞,并讓 HTTP 動詞(GET、POST、PUT、DELETE)定義要對資源執行的操作。使用 POST、DELETE 或 PUT 而不是 GET 來更改狀態。不要使用 GET 更改更改。

/accounts:
get:
post:
/{accountId}:
get:
/balances:
get:
/transactions:
get:
/{transactionId}:
get:

我們已經根據用例為我們的資源定義了適當的方法。

定義標頭和查詢參數

Query 參數基本上用于對資源進行過濾或排序。它以鍵值形式作為查詢字符串在 URL 中傳遞。

在我們的用例中,我們需要獲取交易,并且可以根據日期范圍對其進行過濾。我們將使用 fromDate 和 toDate 作為查詢參數來篩選交易。

使用 URL 中定義的查詢參數從服務器篩選資源。 

/accounts:
get:
headers:
customerId:
required: true
type: string
example: "323232"
maxLength: 20
post:
/{accountId}:
get:
/balances:
get:
/transactions:
get:
/{transactionId}:
get:
queryParameters:
fromTransactionDate:
type: date-only
example: "2021-08-01"
required: false
toTransactionDate:
type: date-only
example: "2021-08-20"
required: false

我們需要獲取特定客戶的所有帳戶。在本例中,我們將使用 customerId 作為標頭參數來獲取特定客戶的帳戶詳細信息。我們本來會使用 customerId 作為查詢參數,但它是敏感信息,因此我們可以在標頭中傳遞它。

請求和響應

我們需要使用一個或多個 HTTP 狀態代碼映射響應。響應可以在 RAML 中以方案、示例、類型或描述的形式定義。

/accounts:
get:
description: Fetch all the accounts for customers.
headers:
customerId:
required: true
type: string
example: "323232"
maxLength: 20
responses:
200:
body:
application/json:
example: |
[{
"accountId": "32323232",
"accountType": "Current",
"accountName": "Mr. James John",
"currency": "USD",
"status": "Active"
}]

在上面的 RAML 中,我們已經定義了成功 http 狀態代碼 200 的響應,但我們也可以定義錯誤 http 狀態代碼的響應,如 404、500,如下所示。

/accounts:
get:
description: Fetch all the accounts for customers.
headers:
customerId:
required: true
type: string
example: "323232"
maxLength: 20
responses:
200:
body:
application/json:
example: |
[{
"accountId": "32323232",
"accountType": "Current",
"accountName": "Mr. James John",
"currency": "USD",
"status": "Active"
}]
404:
body:
application/json:
example: {"message": "Resource Not Found", "errorCode": "404"}
500:
body:
application/json:
example: {"message": "Internal Server Error", "errorCode": "500"}

當我們需要將body傳遞給API請求時,一般使用Request,它通常與POST,PUT,PATCH方法一起使用,我們可以在服務器上創建或修改資源。

/accounts:
get:
description: Fetch all the accounts for customers.
headers:
customerId:
required: true
type: string
example: "323232"
maxLength: 20
responses:
200:
body:
application/json:
example: |
[{
"accountId": "32323232",
"accountType": "Current",
"accountName": "Mr. James John",
"currency": "USD",
"status": "Active"
}]
404:
body:
application/json:
example: {"message": "Resource Not Found", "errorCode": "404"}
500:
body:
application/json:
example: {"message": "Internal Server Error", "errorCode": "500"}/accounts:
get:
description: Fetch all the accounts for customers.
headers:
customerId:
required: true
type: string
example: "323232"
maxLength: 20
responses:
200:
body:
application/json:
example: |
[{
"accountId": "32323232",
"accountType": "Current",
"accountName": "Mr. James John",
"currency": "USD",
"status": "Active"
}]
404:
body:
application/json:
example: {"message": "Resource Not Found", "errorCode": "404"}
500:
body:
application/json:
example: {"message": "Internal Server Error", "errorCode": "500"}
post:
description: Create Account for customer.
body:
application/json:
example: |
[{
"customerId": "6327632",
"accountId": "32323232",
"accountType": "Current",
"accountName": "Mr. James John",
"currency": "USD"
}]
responses:
200:
body:
application/json:
example: {"message": "Account Added Successfully"}

總結

在這個 RAML 入門中,我們已經看到了如何使用資源、請求、響應、URI 參數、查詢參數等來定義基本的 RAML。如果您注意到所有方法的模式保持不變,但每個方法的響應示例都不同。可以避免為每個方法編寫類似的模式和代碼。在我們的 RAML 進階中,我們將看到如何使用資源類型、庫、特征等來促進代碼的可重用性和更好的可讀性。

原文鏈接:https://blogs.mulesoft.com/dev-guides/api-design/restful-api-modeling-language-101/

熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
3000+提示詞助力AI大模型
和專業工程師共享工作效率翻倍的秘密
返回頂部
上一篇
構建知識體系:七大高效學習模型,提升學習力
下一篇
API 設計是一門藝術嗎?
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
日本一区二区三区国色天香| 国产成人午夜电影网| 国产视频911| 青娱乐精品视频| 国产福利91精品| 久久久久久久久久电影| 韩国av一区二区三区| 国产日韩av一区| 国产精品一二一区| 国产欧美va欧美不卡在线| 狠狠色丁香久久婷婷综合_中| 亚洲国产精品一区二区www在线| 成人黄色a**站在线观看| 久久久www免费人成精品| 国产成人午夜精品影院观看视频 | 在线播放一区二区三区| 一区二区三区免费| 欧美伦理视频网站| 麻豆成人免费电影| 亚洲国产精品精华液ab| 国产精品每日更新| 精品视频在线免费观看| 日本美女一区二区| 国产欧美日韩综合| 在线视频国内自拍亚洲视频| 午夜视频一区二区三区| 亚洲精品在线观看网站| aaa欧美日韩| 视频一区欧美精品| 欧美日韩激情一区二区三区| 久久福利资源站| 亚洲欧洲美洲综合色网| 91精品国产综合久久久久久| 亚洲美女屁股眼交| 久久影院视频免费| 欧美日本在线视频| 波多野结衣一区二区三区 | 亚洲国产精品v| 欧美日韩一级二级| 三级欧美韩日大片在线看| 亚洲欧美自拍偷拍| 日韩久久免费av| 日韩在线卡一卡二| 亚洲免费观看高清| 亚洲欧洲日本在线| 精品av综合导航| 日韩一区二区免费视频| 色诱亚洲精品久久久久久| 国产精品乱码妇女bbbb| 91麻豆精品国产自产在线| 91高清在线观看| av不卡一区二区三区| 国产一区二区在线观看免费| 毛片基地黄久久久久久天堂| 一卡二卡三卡日韩欧美| 一区二区三区美女| 伊人婷婷欧美激情| 91免费在线视频观看| 成人av在线播放网址| 成人免费视频播放| 国产高清精品网站| 性感美女久久精品| 国产一区在线观看麻豆| 激情小说亚洲一区| 国产美女在线精品| 国产电影一区二区三区| 99精品视频免费在线观看| 波多野结衣欧美| 91蜜桃在线免费视频| 色呦呦网站一区| 欧美美女网站色| 久久亚洲精品国产精品紫薇| 国产精品视频一二三区| 夜夜亚洲天天久久| 麻豆精品一区二区综合av| 国产激情视频一区二区三区欧美| 99国产精品国产精品毛片| 欧美三级电影一区| 久久久久久免费网| 亚洲一区二区三区在线看| 精品一区二区三区在线观看国产 | 日韩国产在线观看一区| 国产在线麻豆精品观看| www.成人在线| 91精品国产福利在线观看 | 欧美日韩亚洲丝袜制服| 国产偷v国产偷v亚洲高清| 伊人夜夜躁av伊人久久| 国产资源精品在线观看| 欧美日韩在线免费视频| 日本一区二区三区高清不卡| 亚洲专区一二三| av一区二区不卡| 久久亚洲影视婷婷| 日本不卡视频在线观看| 欧洲一区在线电影| 国产精品视频看| 极品美女销魂一区二区三区免费| 91精品1区2区| 中文字幕一区二区三区不卡在线 | 欧美白人最猛性xxxxx69交| 亚洲伦理在线免费看| 国内精品国产三级国产a久久| 欧美日韩视频一区二区| 亚洲激情自拍偷拍| 一本色道久久综合狠狠躁的推荐 | 亚洲最大成人综合| 91猫先生在线| 亚洲一区二区成人在线观看| 日本韩国欧美一区二区三区| 亚洲欧美日韩国产中文在线| 91蜜桃视频在线| 亚洲三级视频在线观看| 99精品偷自拍| 亚洲视频香蕉人妖| 一本色道久久加勒比精品| 亚洲欧洲在线观看av| 99精品国产99久久久久久白柏| 国产精品视频麻豆| aaa国产一区| 亚洲成a天堂v人片| 91精品国产日韩91久久久久久| 日韩精品成人一区二区三区| 日韩一区二区三区在线| 捆绑紧缚一区二区三区视频| 久久久久国产精品人| 99久久99久久综合| 亚洲一区二区欧美激情| 欧美放荡的少妇| 国产精品一区在线观看你懂的| 国产精品久久久久久久久久免费看 | 亚洲自拍另类综合| 91精品国产全国免费观看| 九九九精品视频| 亚洲免费观看视频| 欧美不卡在线视频| 91小宝寻花一区二区三区| 日本中文字幕一区二区有限公司| 久久综合国产精品| 欧美在线免费观看亚洲| 免费精品视频在线| 日韩理论片在线| 日韩情涩欧美日韩视频| 成人免费毛片片v| 日日夜夜免费精品视频| 日本一区二区三区dvd视频在线| 欧日韩精品视频| 国产伦精品一区二区三区视频青涩| 亚洲美女少妇撒尿| 欧美国产国产综合| 欧美videos中文字幕| 欧美视频中文字幕| 成人一二三区视频| 国产一区二区三区免费| 丝袜诱惑亚洲看片| 亚洲欧美色综合| 国产嫩草影院久久久久| 欧美一二三四在线| 欧美曰成人黄网| 91在线国内视频| 豆国产96在线|亚洲| 国内不卡的二区三区中文字幕| 亚洲第一搞黄网站| 一片黄亚洲嫩模| |精品福利一区二区三区| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲色大成网站www久久九九| 精品久久人人做人人爰| 欧美一区二区网站| 欧美三级日韩三级| 在线观看欧美日本| 色哟哟精品一区| 日本道在线观看一区二区| 色呦呦国产精品| 91国产成人在线| 欧美日韩国产影片| 欧美一区二区成人| 欧美不卡一区二区三区| 日韩欧美一区在线| 久久久久亚洲蜜桃| 亚洲欧美怡红院| 一区二区三区四区国产精品| 亚洲一区二区三区四区五区中文| 亚洲色图清纯唯美| 亚洲成av人片一区二区三区| 麻豆精品在线观看| 成人在线视频一区二区| 99精品视频一区二区三区| 日本道精品一区二区三区| 国产盗摄视频一区二区三区| 成人自拍视频在线观看| 国内精品视频一区二区三区八戒| 国产一区二区在线影院| 91视视频在线观看入口直接观看www | 欧美一区二区啪啪| 精品日韩欧美一区二区| 国产精品久久久久一区二区三区共| 久久一区二区三区四区| 亚洲黄色小说网站| 国产成人精品影院|