GraphQL API com Java: tutorial passo a passo para iniciantes

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course
```html

Introdução: Por que GraphQL e Java são uma combinação poderosa



O desenvolvimento moderno de APIs exige flexibilidade e eficiência. A API REST, apesar de sua popularidade, frequentemente enfrenta o problema de over-fetching (carregamento excessivo de dados) ou under-fetching (falta de dados). O GraphQL resolve esses problemas, permitindo que o cliente solicite apenas os dados de que precisa.



O Java, por sua vez, continua sendo uma das linguagens mais confiáveis para desenvolvimento enterprise. A combinação de GraphQL e Java através do framework Spring Boot oferece uma ferramenta poderosa para criar APIs escaláveis e de alto desempenho. Neste tutorial passo a passo, criaremos uma API GraphQL simples do zero.



Este material será útil para desenvolvedores Java que desejam dominar uma abordagem moderna para construir APIs. Abordaremos os conceitos-chave, escreveremos código e testaremos nossa implementação.



1. Configuração do projeto e dependências



O primeiro passo é criar um projeto Spring Boot básico. Usaremos o Maven para gerenciar as dependências. Certifique-se de ter o JDK 17+ e o Maven 3.8+ instalados.



Crie o arquivo pom.xml com o seguinte conteúdo:



<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0         http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.0</version> </parent>

<groupId>com.example</groupId> <artifactId>graphql-java-tutorial</artifactId> <version>1.0.0</version>

<properties> <java.version>17</java.version> </properties>

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.graphql-java</groupId> <artifactId>graphql-spring-boot-starter</artifactId> <version>5.0.2</version> </dependency> <dependency> <groupId>com.graphql-java</groupId> <artifactId>graphql-java-tools</artifactId> <version>5.2.4</version> </dependency> </dependencies></project>


Após configurar o pom.xml, crie a classe principal da aplicação:



package com.example.graphqldemo;

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplicationpublic class GraphqlDemoApplication { public static void main(String[] args) { SpringApplication.run(GraphqlDemoApplication.class, args); }}


Agora a estrutura do projeto está pronta. Vamos para a definição dos dados.



2. Definição do modelo de dados e GraphQL Schema



O GraphQL Schema é o contrato entre o cliente e o servidor. Começaremos criando um modelo simples de Book (livro).



2.1 Classe do modelo Java



package com.example.graphqldemo.model;

public class Book { private String id; private String title; private String author; private int pages;

public Book(String id, String title, String author, int pages) { this.id = id; this.title = title; this.author = author; this.pages = pages; }

// Getters e Setters public String getId ```

Blogs

Book Recommendations