我有一个graphql实现,下面是我的.graphqls文件
schema {
query: Query
}
type Product {
id: Int!
name: String!
description: String!
productTypes: [ProductType]!
}
type City {
id: Int!
name: String!
}
type ProductType {
id: Int!
type: String!
product: Int
}
type Query {
products: [Product]!
cities: [City]!
productTypes: [ProductType]!
}
这是我的查询解析器代码
public class Query implements GraphQLQueryResolver {
@Autowired
ProductRespository productRespository;
@Autowired
EntityManager em;
@Autowired
CityRepository cityRepository;
@Autowired
ProductTypeRepository productTypeRepository;
public List<Map<String, Object>> products() {
javax.persistence.Query q = em.createQuery("select new
map(p.name as productName, p.id as productId) from Product p");
List<Map<String, Object>> list = q.getResultList();
return list;
}
public Iterable<City> cities() {
return cityRepository.findAll();
}
}
当我运行应用程序时,我遇到错误
类型java.util.Map不能为
映射到GraphQL类型!由于GraphQL-Java在
运行时,只有非参数化的类才能表示GraphQL类型。
这允许接口和联合中的java类进行反向查找
类型
所以我该如何处理.graphqls的查询部分中的这种返回类型
预先感谢