
이전에 NestJS에 대해서도 GraphQL에 대해서도 얘기를 했는데, 그걸 또 진행하다보니 Schema-First와 Code-first얘기가 나오고... 고구마 줄기 줄줄 덩얼덩얼 나오듯이 딸려나오는 데다가 오늘 진행한 내용 중에서 나온 오류가 관련해서 나온 오류라 다시 정리한다.
전에 포스팅 했던 개념이라 간단하게!
NestJS는 타임스크립트를 지원하는 프레임워크! 객체지향 프로그래밍에 최적화되어 있음!GraphQL은 Rest API가 하나하나 명세서를 작성해야하는게 불편해서 대안으로 나온 쿼리 언어! 코드 우선 방식은 RestAPI 처럼 resolver를 작성하는데, 스웨거(Swagger)를 작성하지 않아도 Docs가 생성된다! @를 이용하는 데코레이터로 TypeDef를 자동으로 만들어주는 GraphQL 스키마를 생성한다. autoschema를 이용해서 자동으로 스키마가 생성될 경로를 설정해주면 뚝딱이다! 편하다!
ts로 클래스를 짜면 나중에 스키마가 생성되기 때문에 붙여진 이름이다.!이 방식은 graphql schema를 먼저 정의하고 그 정의에 맞게 코드를 작성한다. 간단하고 명확한 작성이 가능한 편이지만 .graphql 파일에 스키마를 직접 작성해아하고, resolver와 정확하게 일치해야하기 때문에 스키마 수가 늘어날수록 번거로워진다...사람은 실수를 하니까...
graphql schema가 먼저 생성되고 그 이후에 클래스나 인터페이스를 생성하기 때문에 붙여진 이름이다!