본문 바로가기
반응형

개발 Study/GraphQL6

[GraphQL/Typescript] GraphQL로 이미지 파일 업로드하기 GraphQL로 파일 업로드하기 1. grpahql-upload 설치하기 Graphql로 파일 업로드를 하기 위해선 Upload라는 Scalar Type을 다룰 수 있게 돕는 graphql-upload 을 npm으로 설치해야한다. 그러나 Typescript를 쓰는 분들은 아래와 같은 에러를 많이 접할 것이고 고치고 쓰는 분들도 있겠지만 나는 버전 충돌과 현재 설치된 다른 모듈들에도 영향을 주기 때문에 grpahql-upload-ts를 설치했다. 아래 두 가지 경우에 대해 링크를 첨부하니 본인에게 맞는 방법으로 설치해보자! 1-1. graphql-upload-ts 설치 https://www.npmjs.com/package/graphql-upload-ts?activeTab=readme#type-fileupl.. 2022. 12. 14.
[GraphQL] GraphQL 사용법 - (4) ThunderClient로 API 테스트하기 ThunderClient API Test 1. ThunderClient API를 보다 쉽게 테스트하기 위해 VSCode에 Extension으로 추천하는 ThunderClient를 설치한다. 기존에 Postman을 썼었는데 cloud에 공유되는게 꺼려지고, 뭔가 무겁기때문에 따로 프로그램을 키거나 접속하지 않아도 로컬에서 쉽게 보낼 수 있는 방법을 찾게되었다. RestAPI 뿐만 아니라 GraphQL도 보낼 수 있어서 Collection을 만들고 그 하위에 폴더를 생성하여 관련 모델 별로 분류하여 API Request를 만들었다. 2. 사용법 2-1. 환경 변수 설정 Env를 클릭한 후 filter 우측에 Menu를 클릭한다. 새 환경 메뉴를 선택 후 환경 이름을 작성한다. (Ex.SsamJob) 환경 변.. 2022. 10. 4.
[GraphQL] GraphQL 사용법 - (3) Sequelize 사용하기(1:1, ForeignKey, Join) Sequelize 테이블 연결 및 외래키 사용 1. Sequelize 테이블 관계 테이블 관계는 1:1, 1:N, M:N 이 있는데 foreignkey를 이용하여 서로 관계를 맺으며 join을 통해 연결된 테이블의 정보까지 불러올 수 있다. 참조 : https://sequelize.org/docs/v6/core-concepts/assocs/ Associations | Sequelize Sequelize supports the standard associations: One-To-One, One-To-Many and Many-To-Many. sequelize.org A.hasOne(B, { /* options */ }); // A는 한 개의 B를 갖는다. A : B = 1 : 1 A.belongsTo(B,.. 2022. 9. 30.
[GraphQL] GraphQL 사용법 - (2) Sequelize + MSSQL 연동 Sequelize + MSSQL 1. Sequelize란? Node 에서 자주 사용되는 ORM 라이브러리다. ORM(Object-Relational Mapping)이란 관계형 데이터베이스와 자바스크립트 객체를 서로 연결해주는 도구로 좀 더 DB작업을 쉽게 처리할 수 있도록 도와준다. 타입스크립트를 이용하여 구현할 거기 때문에 sequelize-typescript를 설치한다. $npm install sequelize-typescript 2. sequelize 연결 설정 DB 정보를 저장할 .env파일을 root에 생성하고 DB_HOST, DB_PORT 등 사용할 변수들을 선언해 놓고 값을 입력해 놓으면, process.env.[변수명] 으로 접근 가능하다. 여러 파일들 에서도 하나의 instance에 접근.. 2022. 9. 29.
[GraphQL] GraphQL 사용법 - (1) Schema 생성 후 ApolloServer 연동하기 GraphQL + ApolloServer 1. GraphQL 타입 선언 (Schema 만들기) 1-1. Query 타입 Query 타입은 보통 fetch data를 하여 원하는 정보를 얻어올 때 쓰인다. schema.graphql을 만든 후 Schema에 Query 타입을 선언 하고 사용할 resolver들을 선언해준다. 상단에 #import를 이용하여 다른 graphql 파일로 부터 선언된 타입들을 불러올 수 있다. 전체 멤버를 불러오는 allMembers와 id를 이용하여 해당 멤버를 불러오는 getMemberById를 선언하였다. #import Member from "member.graphql" #import MemberResponse from "response.graphql" type Query .. 2022. 9. 27.
[GraphQL] GraphQL과 REST GraphQL을 사용하는 이유 1. GraphQL이란? GraphQL은 2012년도에 페이스북에 의해 고안된 API용 쿼리 언어이자 쿼리를 수행하기 위한 런타임이다. 2015년에 오픈소스로 공개되었다. GraphQL은 REST 및 웹서비스 아키텍처를 대체할 수 있다. 클라이언트가 필요한 데이터를 명확하게 요청할 수 있는 기능을 제공하며, 클라이언트의 요청 구조에 맞게 서버 측에서도 같은 구조로 응답한다. 이러한 구조는 기존에 REST API가 지녔던 OverFetching(불필요한 데이터를 받는 것)과 UnderFetching(필요한 데이터를 받지 못하는 것)의 단점을 보완할 수 있다. 2. GraphQL 구성 요소 2-1. Server측 구성 요소 Query(쿼리) : 쿼리는 GraphQL 서버와 통신.. 2022. 9. 21.
반응형