Я пытаюсь использовать в приложении iOS шлюз API с лямбда-функцией для опроса базы данных mongodb.
Выполнение работает довольно хорошо.На самом деле, в модели ответов есть что-то, чего я не понимаю.
В моей лямбда-функции, если ключом словаря является что-то кроме «школ», он вообще не работает: Лямбда-функция
exports.handler = function(event, context, callback) {
MongoClient.connect(uri, function(err, client) {
const collection = client.db("test").collection("test2");
collection.find({}).sort({"ranking_clique" : -1}).toArray(function(err, result) {
if (err) throw err;
context.callbackWaitsForEmptyEventLoop = false;
var dic = {schools : result} // if I change schools by another word, it doesn't work in the api result (of course I change it in the others body)
client.close();
context.done(null,dic);
});
});
}
Ответ тела шлюза API
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "TestOutputModel",
"type": "object",
"properties": {
"schools": { // // if I change schools by another word, it doesn't work in the api result
"type": "array",
"items": {
"type": "object",
"properties": {
"nom": { "type": "string" }
}
}
}
}
}
iOS SDK Aws Модель
import Foundation
import AWSCore
@objcMembers public class TestOuputModel : AWSModel {
var schools: [TestApiOutputModel_categories_item]?
public override static func jsonKeyPathsByPropertyKey() -> [AnyHashable : Any]!{
var params:[AnyHashable : Any] = [:]
params["schools"] = "schools"
return params
}
class func schoolsJSONTransformer() -> ValueTransformer{
return ValueTransformer.awsmtl_JSONArrayTransformer(withModelClass: TestApiOutputModel_categories_item.self);
}
}
Модель iOS Aws
import Foundation
import AWSCore
@objcMembers public class GetinapiPartnersModel_partners_item : AWSModel {
var nom: String?
public override static func jsonKeyPathsByPropertyKey() -> [AnyHashable : Any]!{
var params:[AnyHashable : Any] = [:]
params["nom"] = "nom"
return params
}
}
Я не создавал SDK iOS Aws.Сайт не работает в настоящее время.Поэтому я написал его на основе предыдущего приложения, которое работает.
В синтезе, если я заменю ключевое слово «школы» другим словом в 3 файлах, оно больше не будет работать.
Может кто-нибудь сказать мне, почему?
С уважением