Возможно ли в GraphQL фильтровать результаты по аргументам подполей? Например:
{
allNews(id: 999) {
id
startDate
endDate
newsText(title: "hello", message: "testMessage") {
length
disitrubutionDate
}
}
}
Я построил следующую схему:
type news {
id: Int
startDate: String
endDate: String
newsText: [newsText]
}
type newsText {
message: String
title: String
length: Int
distributionDate: String
}
type Query {
allNews(id: Int, startDate: String, endDate: String): [news]
allNewsTexts(message: String, title: String): [newsText]
}
Если я изменю type news
на:
type news {
id: Int
startDate: String
endDate: String
allNewsTexts(message: String, title: String): [newsText]
}
сборщик данных, связанный с запрос allNewsTexts не вызывается, поэтому выходные данные будут:
"allNews": [
{
"id": 999,
"startDate": "2020-02-27",
"endDate": "2020-02-28",
"allNewsTexts": null
}
]
Мой java сборщик данных просто вернет repository.findAll()
, отфильтрованный по id, startDate, endDate