我正试图创建一个类型脚本aws cdk,用这个swagger文档构建一个API网关。有一个简单的端点返回“Supplier”列表,但我们不知道如何在cdk中指定它。
代码如下:
export function CreateSupplierMethods(apigw: apigateway.Resource,restApiId: string, scope: cdk.Construct, api: apigateway.RestApi) {
let suppliers = apigw.addResource('suppliers')
let supplierModel = new apigateway.Model(scope, "supplier-model", {
modelName: "supplier",
restApi: api,
contentType: 'application/json',
schema: {
description: "Supplier data",
title: "Supplier",
properties: {
code: { type: apigateway.JsonSchemaType.STRING, minLength: 4, maxLength: 6},
name: { type: apigateway.JsonSchemaType.STRING, maxLength: 81},
}
},
})
let getSuppliers = suppliers.addMethod('GET', new apigateway.MockIntegration(), {
methodResponses: [{
statusCode: "200",
responseModels: {
"application/json": supplierModel,
}
},
{
statusCode: "401",
}]
})
}
正如您所看到的,GET具有作为输出的DataModel。我怎么能说“返回一个列表中的模型”?我希望我可以使用这个模型的供应商列表和供应商的单个示例(如一个GET方法与id作为输入)。
这可能吗?如果是,如何进行?
查看生成的json,我试图有这样的东西:
但我现在得到的是完全不同的:
我怎样才能得到像第一张图片一样的结果?
1条答案
按热度按时间3j86kqsm1#
您正在创建一个模型并将其分配给方法。创建这些模型的数组,然后将该数组分配给方法。
并将API中的
"application/json": supplierModel
更改为"application/json": supplierModelArray