back4App,使用alamofire查询

问题描述

我正在尝试使用 Alamofire 对 back4app 中的数据库发出查询请求。 (我不想使用 Parse,用于学习目的)。 我的数据库有 2 个简单的字段,名称和年龄

DB

我想使用 AF 发送 .get 请求以获取与特定名称相关的数据。

我可以使用以下函数检索数据库中的所有数据:

 func readData(){
        AF.request(url!,method: .get,headers: headers).responseJSON { json in
            print(json)
        
    }
 }

根据 back4app 文档,为了查询特定字段被报告: " 指定了参数,其中 URL 参数限制了键的值。它应该被编码为 JSON"

这里是我的测试:

func readDataQuery(name: String){
        let param: [String: String]  = [
                 "Name": name
        ]
        AF.request(url!,parameters: param,headers: headers)
            .responseJSON { json in
            print(json)
        
    }
    }

但它返回一个错误

success({
    code = 102;
    error = "Invalid parameter for query: Name";
})

如何编写要在请求时传递的参数?

谢谢

解决方法

您收到此错误是因为没有名为“名称”的查询参数。为了通过条件获取对象,您必须像这样使用“where”子句。

let param: [String: String]  = ["where": "{"Name":"Meimi"}"]

更多信息请访问本网站

https://docs.parseplatform.org/rest/guide/#query-constraints