<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ledilsonmenezes</title>
    <description>The latest articles on DEV Community by ledilsonmenezes (@menezesledilson).</description>
    <link>https://dev.to/menezesledilson</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1297217%2F484539d1-0f22-4f58-9426-ac5d193ac211.png</url>
      <title>DEV Community: ledilsonmenezes</title>
      <link>https://dev.to/menezesledilson</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/menezesledilson"/>
    <language>en</language>
    <item>
      <title>Criando uma API Simples em Java: Parte 2 - Endpoints PUT e DELETE</title>
      <dc:creator>ledilsonmenezes</dc:creator>
      <pubDate>Mon, 07 Oct 2024 22:19:03 +0000</pubDate>
      <link>https://dev.to/menezesledilson/criando-uma-api-simples-em-java-parte-2-endpoints-put-e-delete-4hfa</link>
      <guid>https://dev.to/menezesledilson/criando-uma-api-simples-em-java-parte-2-endpoints-put-e-delete-4hfa</guid>
      <description>&lt;p&gt;Se você acompanhou a Parte 1 deste artigo, já está familiarizado com a criação de uma API REST básica usando Spring Boot. Agora, vamos adicionar mais funcionalidades à nossa API, incluindo os endpoints PUT e DELETE para gerenciar usuários.&lt;br&gt;
Estrutura do Projeto&lt;/p&gt;

&lt;p&gt;Primeiro, certifique-se de que você já tenha configurado um projeto Spring Boot com as dependências necessárias, como Spring Web e Spring Data JPA.&lt;br&gt;
Endpoints da API&lt;br&gt;
GET /usuarios/{id} - Busca um usuário pelo ID.&lt;br&gt;
PUT /usuarios/{id} - Atualiza as informações de um usuário existente.&lt;br&gt;
DELETE /usuarios/{id} - Deleta um usuário pelo ID.&lt;/p&gt;

&lt;p&gt;Aqui está um exemplo de implementação:&lt;br&gt;
Buscar Usuário&lt;/p&gt;

&lt;p&gt;O método buscarUsuario é responsável por buscar um usuário específico com base no ID fornecido na URL. Se o usuário for encontrado, retornamos o usuário; caso contrário, retornamos um status 404 (Não Encontrado).&lt;/p&gt;

&lt;p&gt;&lt;code&gt;@GetMapping("/{id}")&lt;br&gt;
public ResponseEntity&amp;lt;Usuario&amp;gt; buscarUsuario(@PathVariable Long id) {&lt;br&gt;
    return usuarioRepository.findById(id)&lt;br&gt;
            .map(usuario -&amp;gt; ResponseEntity.ok(usuario))&lt;br&gt;
            .orElse(ResponseEntity.notFound().build());&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Atualizar Usuário&lt;/p&gt;

&lt;p&gt;O método atualizarUsuario permite atualizar as informações de um usuário. Primeiro, verificamos se o usuário existe. Se não existir, retornamos um status 404. Caso contrário, atualizamos o ID do usuário e salvamos as alterações no repositório.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;@PutMapping("/{id}")&lt;br&gt;
public ResponseEntity&amp;lt;Usuario&amp;gt; atualizarUsuario(@PathVariable Long id, @RequestBody Usuario usuario) {&lt;br&gt;
    if (!usuarioRepository.existsById(id)) {&lt;br&gt;
        return ResponseEntity.notFound().build();&lt;br&gt;
    }&lt;br&gt;
    usuario.setId(id);&lt;br&gt;
    Usuario usuarioAtualizado = usuarioRepository.save(usuario);&lt;br&gt;
    return ResponseEntity.ok(usuarioAtualizado);&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Deletar Usuário&lt;/p&gt;

&lt;p&gt;Por fim, o método deletarUsuario permite remover um usuário da base de dados. Assim como no método de atualização, primeiro verificamos se o usuário existe. Se existir, deletamos o usuário e retornamos um status 204 (Sem Conteúdo).&lt;/p&gt;

&lt;p&gt;&lt;code&gt;@DeleteMapping("/{id}")&lt;br&gt;
public ResponseEntity&amp;lt;Void&amp;gt; deletarUsuario(@PathVariable Long id) {&lt;br&gt;
    if (!usuarioRepository.existsById(id)) {&lt;br&gt;
        return ResponseEntity.notFound().build();&lt;br&gt;
    }&lt;br&gt;
    usuarioRepository.deleteById(id);&lt;br&gt;
    return ResponseEntity.noContent().build();&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Conclusão&lt;br&gt;
Com esses métodos, sua API agora tem a capacidade de buscar, atualizar e deletar usuários de forma simples e eficaz.&lt;br&gt;
Se você está começando no desenvolvimento de APIs em Java, essa é uma ótima maneira de entender como as operações CRUD funcionam em uma aplicação Spring Boot.&lt;/p&gt;

&lt;p&gt;Sinta-se à vontade para compartilhar suas dúvidas e experiências nos comentários! &lt;br&gt;
Até a próxima!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Criar uma API com Endpoints POST e GET de Forma Simples em Java + Springboot</title>
      <dc:creator>ledilsonmenezes</dc:creator>
      <pubDate>Fri, 27 Sep 2024 21:02:18 +0000</pubDate>
      <link>https://dev.to/menezesledilson/criar-uma-api-com-endpoints-post-e-get-de-forma-simples-em-java-12b</link>
      <guid>https://dev.to/menezesledilson/criar-uma-api-com-endpoints-post-e-get-de-forma-simples-em-java-12b</guid>
      <description>&lt;p&gt;Introdução&lt;/p&gt;

&lt;p&gt;Hoje, vou mostrar como é fácil desenvolver uma API em Java! Se você é iniciante, este guia passo a passo vai ajudá-lo a criar uma API com endpoints POST e GET.&lt;/p&gt;

&lt;p&gt;O que é uma API?&lt;/p&gt;

&lt;p&gt;Uma API (Interface de Programação de Aplicações) permite que diferentes sistemas se comuniquem. Uma API RESTful utiliza métodos HTTP, como GET, POST, PUT e DELETE, para manipular dados.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9o0u13wi434par0hmq4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9o0u13wi434par0hmq4.png" alt=" " width="744" height="188"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Por que usar um Endpoint POST e GET?&lt;/p&gt;

&lt;p&gt;POST: Usado para enviar dados ao servidor e criar novos registros.&lt;br&gt;
GET: Usado para recuperar dados do servidor.&lt;/p&gt;

&lt;p&gt;Passo a Passo para Criar uma API com Endpoints POST e GET em Java&lt;/p&gt;

&lt;p&gt;Configuração do Ambiente&lt;/p&gt;

&lt;p&gt;Primeiro, certifique-se de ter o Java e o Maven instalados. Crie um novo projeto Spring Boot. Você pode usar o Spring Initializr para facilitar:&lt;/p&gt;

&lt;p&gt;Acesse &lt;a href="https://start.spring.io/" rel="noopener noreferrer"&gt;start.spring.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selecione as dependências: "H2 Database","Spring Web" e "Spring Data JPA".&lt;br&gt;
Gere o projeto e extraia o ZIP.&lt;/p&gt;

&lt;p&gt;Estrutura do Projeto&lt;/p&gt;

&lt;p&gt;Depois de extrair o projeto, você verá uma estrutura padrão do Maven. No diretório src/main/java/com.api.demo, crie os pacotes chamado Entity,Repository e Controller.&lt;/p&gt;

&lt;p&gt;Criando a Classe Modelo&lt;/p&gt;

&lt;p&gt;Crie uma classe chamada Usuario:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;package com.api.demo.Entity;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;

@Entity
public class Usuario {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long Id;
    private String nome;
    private int idade;

    public Long getId() {
        return Id;
    }

    public void setId(Long id) {
        Id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Criando o Repositório&lt;/p&gt;

&lt;p&gt;Crie uma interface chamada UsuarioRepository:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;package com.api.demo.repository;

import com.api.demo.Entity.Usuario;
import org.springframework.data.jpa.repository.JpaRepository;

public interface UsuarioRepository extends JpaRepository&amp;lt;Usuario,  Long&amp;gt; {
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Criando o Controlador&lt;/p&gt;

&lt;p&gt;Crie uma classe chamada UsuarioController:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;package com.api.demo.Controller;
import com.api.demo.Entity.Usuario;
import com.api.demo.repository.UsuarioRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api/usuarios")
public class UsuarioController {

    @Autowired
    private UsuarioRepository usuarioRepository;

    @PostMapping
    public ResponseEntity&amp;lt;Usuario&amp;gt; criarUsuario (@RequestBody Usuario usuario){
        Usuario novoUsuario = usuarioRepository.save(usuario);
        return ResponseEntity.status(201).body(usuario);
    }
    @GetMapping
    public ResponseEntity&amp;lt;List&amp;lt;Usuario&amp;gt;&amp;gt;listarUsuarios(){
        List&amp;lt;Usuario&amp;gt; usuarios = usuarioRepository.findAll();
        return ResponseEntity.ok(usuarios);
    }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Configurando o Banco de Dados&lt;br&gt;
No arquivo application.properties, configure o banco de dados. Para um banco em memória, adicione:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;spring.datasource.url=jdbc:h2:mem:testdb
spring.h2.console.enabled=true
spring.jpa.hibernate.ddl-auto=create

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Url do banco de dados H2 &lt;a href="http://localhost:8080/h2-console" rel="noopener noreferrer"&gt;http://localhost:8080/h2-console&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frw1a28l7nxmtedgy64e8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frw1a28l7nxmtedgy64e8.png" alt=" " width="453" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Testando os Endpoints&lt;/p&gt;

&lt;p&gt;Inicie a aplicação. Você pode usar o Postman ou Insomnia  para testar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.postman.com/" rel="noopener noreferrer"&gt;https://www.postman.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://insomnia.rest/" rel="noopener noreferrer"&gt;https://insomnia.rest/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para o endpoint POST, envie uma requisição para &lt;br&gt;
&lt;a href="http://localhost:8080/api/usuarios" rel="noopener noreferrer"&gt;http://localhost:8080/api/usuarios&lt;/a&gt; com um corpo JSON:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "nome": "João",
    "idade": 25
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para o endpoint GET, envie uma requisição para&lt;br&gt;
&lt;a href="http://localhost:8080/api/usuarios" rel="noopener noreferrer"&gt;http://localhost:8080/api/usuarios&lt;/a&gt;. &lt;br&gt;
Você receberá uma lista de usuários no formato JSON.&lt;/p&gt;

&lt;p&gt;Pronto! Você criou uma API simples em Java com endpoints POST e GET. Agora, você pode expandir essa API para adicionar mais funcionalidades. A prática leva à perfeição, então continue explorando!&lt;/p&gt;

&lt;p&gt;Se você gostou deste guia, compartilhe suas experiências nos comentários ou me avise se precisar de mais dicas!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
