我在使用Apollo的项目中使用了GraphQL API。我用graphql调用了许多API,但返回成功,但是现在我试图使用一些参数来调用API,该参数返回的值是optional(optional(optional(“ value”))),结果返回为空。
我将参数传递为
let filterInput = FilterInput(title: "car")
print("filterInput....", filterInput)
self.getAllProducts(pgNum: 0, filterInput: filterInput)
实际结果:
filterInput:FilterInput(graphQLMap:[“ title”:Optional(Optional(“ car”)),“ transmissionId”:nil,“ location”:nil,“ radius”:nil,“ mileageTo”:nil,“ serviceId “:无,” seatCountTo“:无,”模型“:无]]
预期结果:
filterInput:FilterInput(graphQLMap:[“ title”:“ car”,“ transmissionId”:零,“ location”:零,“ radius”:零,“ mileageTo”:零,“ serviceId”:零,“ seatCountTo “:无,“模型”:无])
这是我的查询代码,
func getAllProducts(pgNum: Int , filterInput : FilterInput)
{
self.imageArr.removeAll()
self.checkPageNumber = self.pageNumber
apollo.fetch(query: GetAllProductsQuery(filter: filterInput, pageNumber: String(pgNum))){ (result, error) in
let productDetails = result?.data?.getAllProducts
if productDetails?.count == 0
{
DispatchQueue.main.async {
self.hideActivityIndicator()
}
}
else
{
if result?.data?.getAllProducts != nil{
for i in 0...(result?.data?.getAllProducts?.count)!-1
{
let index = productDetails![i]
let productId = index?.id
let productTitle = index?.title
let imageArr = index?.images
if imageArr!.count > 0
{
self.imageArr.append(imageArr![0]!)
}
else
{
self.imageArr.append("")
}
self.productIdArr.append(productId!)
self.productTitleArr.append(productTitle!)
}
DispatchQueue.main.async {
self.productImageArr = self.productImageArr + self.imageArr
self.productCollectionView.reloadData()
self.singleTonInstance.allProductImages = self.productImageArr
}
}
}
}
}