簡體   English   中英

使用 claudia-api-builder 時如何返回 API 響應?

[英]How to return the API response while using claudia-api-builder?

我正在使用帶有 Sequelize 的 Claudia-api-builder 並在從 API 返回響應時遇到問題

應用程序.js:

const ApiBuilder = require('claudia-api-builder');
const app = new ApiBuilder();

const citizenPersonalDetails = require('./app/controller/cont.citizenpersonaldetails');

app.get('/citizens', function (req, res) {
  citizenPersonalDetails.getAll(req, res);
})

module.exports = app

當我返回如下響應時:

getAll: function (req, res) {
        citizenPersonalDetails.findAll({})
            .then(citizenPersonalDetails => {
                if (citizenPersonalDetails.length === 0) {
                    return res.status(200).json(citizenPersonalDetails)
                } else {
                    return res.status(200).json(citizenPersonalDetails)
                }
            }).catch(error => {
                console.log("==== ERROR ====", error);
            });
    }

這給了我錯誤: res.status 不是 function

在 Claudia 文檔中,它只提到了請求 object:

https://claudiajs.com/claudia-api-builder.html

來自文檔:

var ApiBuilder = require('claudia-api-builder'),
    api = new ApiBuilder(),
    superb = require('superb');

module.exports = api;

api.get('/greet', function (request) {
    return request.queryString.name + ' is ' + superb();
});

克勞迪婭有任何回應 object 嗎? 返回響應的正確方法是什么?

我在本地使用 claudia-local-api 進行 APIS 測試。

沒有response第二個參數(就像您在 Express.js 中一樣)。

似乎有一個ApiResponse可用於返回自定義響應和客戶 header。

但是,如果您已經使用 Express.js 進行了這項工作,則可能完全跳過 claudia-api-builder 並使用 claudia在 AWS Lambda 中運行 Express.js 應用程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM