Visual Studio Code Thunder Client

Visual Studio Code Thunder Client es uno de los clientes que poco a poco se ha ido haciendo hueco a la hora de realizar peticiones REST . Recordemos que cada día usamos más Visual Studio Code . Vamos a ver un ejemplo sencillo de como realizar peticiones con este plugin de Visual Studio Code. Para ello empezaremos con un pequeño servicio REST que delega en Spring Data.

package com.arquitecturajava.web1.restcontrollers;

import java.util.List;
import java.util.Optional;

import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.arquitecturajava.web1.models.Producto;
import com.arquitecturajava.web1.services.ProductoService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;


@RestController
@RequestMapping("webapi/productos")
public class ProductoRestController {

    private ProductoService productoService;

    public ProductoRestController(ProductoService productoService) {
        this.productoService = productoService;
    }

    
    @DeleteMapping("/{id}")
    public void deleteProducto(@PathVariable int id) {
        productoService.deleteProducto(new Producto(id));
    }

    @GetMapping
    public List<Producto> findAllProductos() {
        return productoService.findAllProductos();
    }
    @GetMapping("/{id}")
    public Optional<Producto> findByIdProducto(@PathVariable int id) {
        return productoService.findByIdProducto(id);
    }
   @PostMapping
    public Producto saveProducto(@RequestBody Producto entity) {
        return productoService.saveProducto(entity);
    }

    @PutMapping ("/{id}")
    public Producto actualizarProducto(@RequestBody Producto nuevo ,@PathVariable int id) {
       Optional<Producto> oProducto= productoService.findByIdProducto(id);
        if(oProducto.isPresent()) {

            Producto productoActualizar= oProducto.get();
            productoActualizar.setNombre(nuevo.getNombre());
            productoActualizar.setPrecio(nuevo.getPrecio());
            productoActualizar.setCantidad(nuevo.getCantidad());
            return productoService.saveProducto(productoActualizar);
        }
        return null;
       
    }

    
}

Visual Studio Code Thunder Client

Este es un servicio que contiene las operaciones más habituales de GET , POST, PUT y DELETE. Podemos instalar Thunder Client para gestionarlas.

Este cliente moderno de peticiones REST tiene un aire a PostMan y es gratuito para un conjunto importante de operaciones aunque tiene una versión de pago. Podemos construir operaciones REST de una forma sencilla.

Para ello basta con solicitar new request y ver como podemos definir los diferentes tipos de petición en la siguiente imagen se muestra una petición de tipo GET:

Aquí tenemos una petición de tipo POST:

Poco a poco se esta convirtiendo en el cliente de referencia a nivel de Visual Studio code cuando tenemos que gestionar diferentes peticiones REST y substituyendo a REST Client que era otra de las grandes referencias por su simplicidad. Si te gusta PostMan Thunder Client es probablemente una alternativa a valorar: