graphql
WebFlux spring graphql 에서 Header Handling 하기
WebFlux spring graphql 에서 Header Handling 하기
2022.10.01WebFlux 에서는 WebMvc 와는 다른 방법으로 header 를 handling 해야합니다. login 을 했을때 cookie 를 set 하는 예시로 시작해보겠습니다. @MutationMapping fun login( @Argument input: LoginInput, context: GraphQLContext ): Mono { return memberService.login(input) .flatMap { context.put("token", it.token) Mono.just(AuthToken(it.tokenType, it.token)) } } GraphqlContext 에 key value 형태로 token 을 저장합니다. 그리고 headerInterceptor 를 만들어 context 의 값..
GraphQL 에서 Resolver 의 역활
GraphQL 에서 Resolver 의 역활
2022.07.28GraphQL이란 GraphQL은 2012년 페이스북 개발자들이 모바일 어플리케이션을 제작하면서 만든 쿼리 언어이다. SQL과 마찬가지로 데이터베이스의 정보를 질의하는데 사용되지만 그 구조는 매우 다르다. 페이스북 개발자들은 왜 굳이 새로운 쿼리 언어를 만들면서까지 프론트엔드로 데이터를 보내는 방식을 개선하려고 했을까? 전통적인 REST API는 오버페칭이나 언더페칭 같은, 데이터를 너무 많이 전달하거나 너무 적게 전달하여 불필요한 데이터 전송을 일으키는 문제를 발생시켰다. 또 REST API의 경우 개발이 계속될수록 점점 더 많은 엔드포인트를 필요로 하게 되어 프로젝트 관리를 어렵게 한다. 반면 GraphQL은 프론트엔드에서 필요로 하는 데이터를 있는 그대로 JSON 형태로 표현하여 되돌려받는다는 장점..
Nestjs + react Day1
Nestjs + react Day1
2021.05.19backend 시작하기 nest.js cli 를 사용하여 app을 만듭니다. $ nest g application nuber-eats-backend uber eats 를 clone coding 하기 위해서 nuber-eats 라고 프로젝트명을 설정했습니다. 그리고 git 저장소를 만들고 gitognore를 추가합니다. .gitignore nodemodule/ package-lock.json dist/그리고 이번 프로젝트에서는 REST를 사용하는 대신 GRAPHQL 을 사용할 예정입니다. $ npm i @nestjs/graphql graphql-tools graphql apollo-server-express 다음과 같이 설정합니다. app.moudles 은 main.ts 로 import 되는 유일한 mod..