[英]Is this a correct api response?
我正在嘗試了解 API 並在用戶點擊我的基本 Express 應用程序上的端點時創建一個簡單的響應。
我不確定什么構成了正確的 API 響應,它是否需要是一個對象?
我得到的數據是一個數組數組,我從文件中導出它,並使用 response.json() 在 express 應用程序中將其作為對象返回,它顯示正常,但我不確定我是否遵循正確的我如何處理和顯示它的方法。
我想了解應該如何返回 API 數據,我覺得它應該始終是一個對象,但我在這里返回的是一個數組數組,請提供一些更好地理解這一點的解釋會有所幫助。
這是我的數據文件:
export const data = [
[
'a9e9c933-eda2-4f45-92c0-33d6c1b495d8',
{
title: 'The Testaments',
price: { currencyCode: 'GBP', amount: '10.00' },
},
],
[
'c1e435ad-f32b-4b6d-a3d4-bb6897eaa9ce',
{
title: 'Half a World Away',
price: { currencyCode: 'GBP', amount: '9.35' },
},
],
[
'48d17256-b109-4129-9274-0bff8b2db2d2',
{ title: 'Echo Burning', price: { currencyCode: 'GBP', amount: '29.84' } },
],
[
'df2555ad-7dc2-4b1f-b422-766184b5c925',
{
title: ' The Institute',
price: { currencyCode: 'GBP', amount: '10.99' },
},
],
];
這是我的 express 應用程序文件中的一個片段,它為這個端點導入數據對象:
app.get('/books', (request, response) => {
response.json({ books: data });
});
看起來不錯,我要做的一件事是確保您返回的對象的根在 api 調用之間始終具有相同的名稱,因此這里您的根對象名稱是“books”:
app.get('/books', (request, response) => {
response.json({ books: data });
});
我個人會將其更改為:
app.get('/books', (request, response) => {
response.json({ data: data });
});
現在這似乎令人困惑,但這意味着當您的 api 被查詢時,api 返回的實際資源總是在一個名為data
的對象中,它只是為人們應該期望看到的 api 響應資源構建了一個通用模式在您的 JSON 響應中。
因此,例如,如果您有另一個作者端點,人們就會知道作者的響應將在名為 data 的對象下:
app.get('/authors', (request, response) => {
response.json({ data: authors });
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.