我在我的iOS应用程序中使用Amplify。我们有一个后端团队为我们提供一些外部API。有这个API被调用并且工作正常。我们必须有两个端点,所以他们已经创建了端点并将其推送到Amplify。拉取后,API没有按预期工作。它返回“配置了多个rest api。无法推断调用哪个API”这个错误。请给我解释一下。
这就是xcode中的amplifyconfiguration.json文件的样子
"api": {
"plugins": {
"awsAPIPlugin": {
"companies": {
"endpointType": "REST",
"endpoint": "https://j7l0jwnq27.execute-api.us-east-1.amazonaws.com/dev",
"region": "us-east-1",
"authorizationType": "AWS_IAM"
},
"projection": {
"endpointType": "REST",
"endpoint": "https://z57ijgfs16.execute-api.us-east-1.amazonaws.com/dev",
"region": "us-east-1",
"authorizationType": "AWS_IAM"
},
"tableCalculation": {
"endpointType": "REST",
"endpoint": "https://5nt0tfg2a6.execute-api.us-east-1.amazonaws.com/dev",
"region": "us-east-1",
"authorizationType": "AWS_IAM"
}
}
}
}
字符串
这里/getCompanies在其他两个端点到来之前工作正常。现在当调用/getCompanies端点时,我得到“配置了多个rest API。无法推断要调用哪个API”这个错误。
这就是我调用API的方式
let request = RESTRequest(path: "/getCompanies")
Amplify.API.get(request: request)
型
Thanks in advance
1条答案
按热度按时间f5emj3cl1#
我们遇到了类似的问题,并已成功解决。
您看到的错误告诉您,Amplify无法决定使用哪个端点URL,因为配置指定了多个端点。
为了使用多个端点,你需要明确地告诉你想要使用哪一个。在
RESTRequest
初始化器中有一个专用的参数,叫做apiName
,例如:字符串
在创建
RESTRequest
对象时,您需要在此初始化器中传递amplifyconfiguration.json
文件中配置的API名称,然后Amplify SDK将能够发出这些请求。在你的情况下,它可能是:
对“公司”端点的请求:
型
对其他端点的请求可以通过传递API名称以相同的方式完成,例如:
型