GraphQL 메시: Migrando API REST sem esquema para GraphQL sem escrever nenhum codigo
13235 단어 graphqljavascriptwebdevptbr
Vamos Primeiro Começar Observando essa abordagem:
백엔드 프록시 GraphQL 구현
Digamos que você tenha um endereco
/user
que faz todas as operações CRUD para a entidade User
, 다양한 방법 HTTP, e você precisaria de um esquema GraphQL como abaixo:type Query {
user(id: ID): User
}
type Mutation {
createUser(input: UserInput): User
updateUser(id: ID, input: UserInput): User
deleteUser(id: ID): ID
}
type User {
id: ID
name: String
age: Int
}
input UserInput {
name: String
age: Int
}
API REST로 GraphQL을 사용하여 GraphQL como abaixo를 해결하기 위해 사전 요구 사항에 대한 정보를 제공합니다.
module.exports = {
Query: {
user: (root, args) => fetch('https://myrest.com/user/' + args.id)
.then(res => res.json())
},
Mutation: {
createUser: (root, args) => fetch('https://myrest.com/user', {
method: 'PUT',
body: JSON.stringify(args.input)
}).then(res => res.json()),
updateUser: (root, args) => fetch('https://myrest.com/user' + args.id, {
method: 'POST',
body: JSON.stringify(args.input)
}).then(res => res.json()),
deleteUser: (root, args) => fetch('https://myrest.com/user' + args.id, {
method: 'DELETE'
}).then(res => res.json()),
};
모범 사례 que você tem um endereço
/user/:id
que obtém uma entidade User
com HTTP GET
, usuário com 제외 HTTP DELETE
e atualiza 음 User
com o id e 페이로드 fornecido. Além disso, o endereco /user
크리아 음 노보 User
com o 페이로드 fornecido.API REST for atualizada e se tornar maior를 구현하는 데 어려움을 겪을 수 있습니다.
Usando GraphQL Mesh는 코드에 포함됩니다.
GraphQL 메쉬 및 기타 구성 요소의 다양한 글꼴 및 그래프 Você pode verificar o artigo de lançamento para saber mais .
자동화된 통신 시스템의 제어 기능 - OpenAPI/Swagger, gRPC, SOAP e outros, esquema JSON 처리 방식 GraphQL com base for JSON arquidosque의 기본 사항 Esse manipulador também pode gerar o esquema JSON no tempo de execução com base no payload de solicitação e nos dados de resposta.
Primeiro você precisa criar um projeto, vamos usar
yarn
em um diretório vazio:yarn init
Depois disso, precisamos instalar algumas do GraphQL Mesh:
yarn add @graphql-mesh/cli @graphql-mesh/json-schema graphql
크으으으으음
.meshrc.yml
GraphQL Mesh와 새로운 프로젝트 구성에 대한 질문:sources:
- name: MyRest
handler:
jsonSchema:
baseUrl: https://myrest.com/
operations:
- type: Query
field: user
path: /user/{args.id}
method: GET
responseSample: ./getUserResponse.json
- type: Mutation
field: createUser
path: /user
method: POST
requestSample: ./createUserRequest.json
responseSample: ./createUserResponse.json
- type: Mutation
field: updateUser
path: /user/{args.id}
method: PUT
requestSample: ./updateUserRequest.json
responseSample: ./updateUserResponse.json
- type: Mutation
field: deleteUser
path: /user/{args.id}
method: DELETE
responseSample: ./deleteUserResponse.json
Como você pode ver na configuração, definimos nossos endereços sem uma única linha de codigo. Depois de criar este arquivo de configuração. Precisamos obter arquivos de solicitação e resposta de amostra, podemos fazer isso chamando esses endereços localmente.
Com um único comando, nosso novo servidor GraphQL está pronto para uso:
yarn mesh serve
Não é só um gateway, mas também, uma SDK 통합 도구
GraphQL Mesh 및 Capaz de gerar um SDK com tipagem segura a partir da API GraphQL gerada porque o esquema GraphQL gerado é localmente.
GraphQLSchema
podem ser executados sem um servidor HTTP.Isso significa que você pode usar o GraphQL Mesh dentro de seus serviços ou clientes existentes, como um SDK , 단순함, 단순함, 기본 구성 요소에 대한 기본 구성 요소.
신용
Migrating from Schemaless REST API to GraphQL without writing any code , escrito originalmente por .
Reference
이 문제에 관하여(GraphQL 메시: Migrando API REST sem esquema para GraphQL sem escrever nenhum codigo), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/oieduardorabelo/graphql-mesh-migrando-api-rest-sem-esquema-para-graphql-sem-escrever-nenhum-codigo-4poa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)