Mam następujące zapytanie Graphql:

query workflowState($id: String!, $after: String!){
    workflowState(id: $id) {
    issues(after: $after) {
      pageInfo {
        hasNextPage,
        endCursor
      }
      nodes {
        id
        title
        labels{
          nodes {
            id,
            name
          }
        }
      }
    }
  }
}

Po pierwszym uruchomieniu zapytania nie chcę przekazać after do issues Chciałbym uzyskać wszystkie problemy od początku.

Kiedy analizuję odpowiedź, jeśli hasNextPage jest prawdą, chciałbym ponownie zadzwonić do zapytania, a tym razem przekazuje endCursor do after do after Dostaję kolejny zestaw zagęszczonych wyników.

Mogę pomyślnie analizować odpowiedź i zrobić drugie połączenie, ale Jak mam zrobić pierwsze połączenie, które nie ma i after wartość?

Próbowałem przejść pusty lub nieistniejący UUID, a ja dostaję błąd: Invalid input: after must be an UUID

1
Shawn Northrop 12 październik 2020, 21:23

1 odpowiedź

Najlepsza odpowiedź

Ta definicja

Query Workflowate ($ ID: String!, $ after: String!) {

... wymaga zmiennej after.

Rozwiązanie:

Po prostu usuń "!" - wykrzyknik:

Zapytanie Workflowate ($ ID: String!, $ After: String) {

... i [gdy nie jest wymagany] Nie przejdź "po" zmiennej - issues(after: $after) otrzyma (zostanie oceniona) niezdefiniowana wartość. W ten sposób "po" będzie działał jako opcjonalny parametr.

1
xadm 12 październik 2020, 18:47