gpt4 book ai didi

typescript - 如何在 typescript nodejs 项目中包含生成的 api 网关 sdk

转载 作者:行者123 更新时间:2023-12-05 05:19:40 24 4
gpt4 key购买 nike

我已经创建了一个 API 网关 API,我想在我用 typescript 编写的 nodejs 项目中使用它。为此,我想包含生成的 SDK。

生成的 SDK 由不导出任何内容的 js 文件组成。例如主文件“apigClient”基本上是这样的:

var apigClientFactory = {};
apigClientFactory.newClient = function (config) {
...
}

要在 javascript 项目中使用它,必须这样做:

<script type="text/javascript" src="apigClient.js"></script>

如何在用 typescript 编写的 nodejs 项目中做同样的事情?

最佳答案

我遇到了同样的问题。

SDK 不适用于 Node。为了在 Node 上使用 SDK,您必须将代码更改为模块化。

我找到了一个允许我通过节点与 API 网关通信的库:aws-api-gateway-client

NPM:https://www.npmjs.com/package/aws-api-gateway-client存储库:https://github.com/kndt84/aws-api-gateway-client

但是对于这个库,你必须自己实现请求。改编自那里的自述文件:

// Require module
var apigClientFactory = require('aws-api-gateway-client').default;
// ES6:
// import apigClientFactory from 'aws-api-gateway-client';
// Set invokeUrl to config and create a client.
// For authorization, additional information is
// required as explained below.

// you can find the following url on
// AWS Console/Gateway in the API Gateway Stage session
config = {invokeUrl:'https://xxxxx.execute-api.us-east-1.amazonaws.com}
var apigClient = apigClientFactory.newClient(config);

// Calls to an API take the form outlined below.
// Each API call returns a promise, that invokes
// either a success and failure callback

var params = {
//This is where any header, path, or querystring
// request params go. The key is the parameter
// named as defined in the API
userId: '1234',
};
// Template syntax follows url-template
// https://www.npmjs.com/package/url-template
var pathTemplate = '/users/{userID}/profile'
var method = 'GET';
var additionalParams = {
//If there are any unmodeled query parameters
// or headers that need to be sent with the request
// you can add them here
headers: {
param0: '',
param1: ''
},
queryParams: {
param0: '',
param1: ''
}
};
var body = {
//This is where you define the body of the request
};

apigClient.invokeApi(params, pathTemplate, method, additionalParams, body)
.then(function(result){
//This is where you would put a success callback
}).catch( function(result){
//This is where you would put an error callback
});

希望对您有所帮助。

关于typescript - 如何在 typescript nodejs 项目中包含生成的 api 网关 sdk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45739180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com