Schema-first vs Code-first

·2022년 5월 1일
0

TIL

목록 보기
30/36
post-thumbnail

이 주제에 대해서는 길게 내용이 나오기는 힘들 것 같다.


Schema-first?

api를 만들다보면 명세를 만들어놔야한다.

이 api에서는 필요한 것이 aa bb cc 가 있어야한다. 라는 식으로 존재를 해야 보고 함께 개발을 할 수 있기 때문이다.

그래서 Rest Api에서는 SWAGGER를 사용하여 명세를 만들어주는데

자동화가 있긴 하지만, 스웨거를 직접 짜주는 것을 Schema-first 라고 이야기를 한다.
(정말 최악이였다... 띄어쓰기로 망가지는게 너무 작성하기 힘들었다)

Code-first

이것은 반대로 구성되어있다.
코드를 먼저 작성해주면 그것에 맞게 명세를 만들어주는 방식으로 진행이 된다.
적용을 하기 위해서는 이런식으로 모듈 최상단에 넣어주면 해결된다.

 GraphQLModule.forRoot<ApolloDriverConfig>({
      driver: ApolloDriver,
      autoSchemaFile: 'src/commons/graphql/schema.gql', // <- 요건 명세가 저장되는 위치
      context: ({ req, res }) => ({ req, res }), // <- 이건 restApi를 쓰기 위해서 추가해놓음
    })
profile
물류 서비스 Backend Software Developer

0개의 댓글