Spring GraphQL: Warum werden in mehreren @Schemamapping -Resolvers nicht aktualisiert, die in der Antwort spiegeln?Java

Java-Forum
Anonymous
 Spring GraphQL: Warum werden in mehreren @Schemamapping -Resolvers nicht aktualisiert, die in der Antwort spiegeln?

Post by Anonymous »

Ich wollte bestimmte Felder in meiner übergeordneten Abfrage von GraphQL aktualisieren, aber es spiegelt die Antwort nicht wider.

Code: Select all

@Slf4j
@Controller
public class QueryController {

@QueryMapping
public Page Page(@Argument int page, @Argument int size) {
return Page.builder()
.info(
PageInfo.builder()
.page(page)
.size(size)
.build()
)
.build();
}

}
Seiteninfo-Modell

Code: Select all

@Getter
@Setter
@ToString
@Builder
@AllArgsConstructor
public class Page {
private PageInfo info;
private final List users;
private final List posts;
private final List comments;
}
Zwei meiner Schema-Mapper-Klassen
In dieser Klasse wollte ich den Wert der Gesamteigenschaft ändern, aber die Antwort spiegelt nicht die neuen Werte wider, die angegeben wurden.

Code: Select all

@Slf4j
@Controller
public class PageUsersController {

@SchemaMapping(typeName = "Page")
public List users(Page page) {
final PageInfo pageInfo = page.getInfo();
// Set dynamic value for total.
pageInfo.setTotal(200);
return Collections.emptyList();
}

}

@Slf4j
@Controller
public class PagePostsController {

@SchemaMapping(typeName = "Page")
public List
 posts(Page page) {
final PageInfo pageInfo = page.getInfo();
// Set dynamic value for total.
pageInfo.setTotal(100);
return Collections.emptyList();
}

}
Meine Abfragen

Code: Select all

query MyQuery1 {
Page {
info {
total
}
users {
id
}
}
}

// Response

{
"data": {
"Page": {
"info": {
"total": 0 // Total should be 200
},
"users": []
}
}
}
< /code>
query MyQuery2 {
Page {
info {
total
}
posts {
id
}
}
}

// Response

{
"data": {
"Page": {
"info": {
"total": 0 // Total should be 100
},
"posts": []
}
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post