• GraphQL

GraphQL Relay Connection PageInfo

명세에서 정의된 것과는 다르게 startCursor, endCursor가 nullable 한 편이 더 실용적인 것 같다.

2019. 9. 7

명세

Relay Cursor Connections Specification에서 말하길, startCursor와 endCursor은 non null이다.

즉, 스펙에 따르면 매칭된 엣지가 0개인 경우 커넥션 필드가 null로 반환해야 하며, 그렇기 때문에 커넥션 메타데이터를 반환하지 못한다.

Github에서의 구현

하지만 Github이 사용하고 있는 PageInfo의 startCursor, endCursor는 nullable 하다.

startCursor, endCursor가 nullable 한 편이 더 실용적이다. 그래야 커넥션 엣지의 수가 0일 때도 커넥션에 있는 각종 메타데이터를 반환할 수 있기 때문이다.