viernes, 1 de febrero de 2019

Un sencillo servicio usando Spark Framework y Gson


En ésta ocasión crearemos un servicio REST. Para ello usaremos:

  • Gradle
  • Spark Framework
  • Gson
Crearemos una clase Departamento.java con dos atributos nombre y responsable. Un método que convertirá una lista de tipo Departamento a formato JSON.

Nuestro archivo build.gradle lucirá así:

plugins {
    id 'java'
    id 'application'
}

mainClassName = 'com.codemonkey.Main'

dependencies {
    compile "com.sparkjava:spark-core:2.7.2"
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

repositories {
    jcenter()
}

project.configurations.compile.resolvedConfiguration.resolvedArtifacts.each {
 println '   [Dependencias] '
 println 'artifact: '+it.name // << the artifact name
 println 'referencia: '+it.file // << the file reference
 println '**************************'
}

task listar << {
 println "Hoy es "+new Date()
}
Nuestra clase Departamento.java luce así:
package com.codemonkey.model;

public class Departamento {
 private String nombre;
 private String responsable;

 public Departamento() {
 }

 public Departamento(String nombre, String responsable) {
  super();
  this.nombre = nombre;
  this.responsable = responsable;
 }

 public String getNombre() {
  return nombre;
 }

 public void setNombre(String nombre) {
  this.nombre = nombre;
 }

 public String getResponsable() {
  return responsable;
 }

 public void setResponsable(String responsable) {
  this.responsable = responsable;
 }

 @Override
 public String toString() {
  return "{nombre:" + nombre + ", responsable:" + responsable + "}";
 }

}

Nuestra clase principal Main.java :


package com.codemonkey;

import static java.lang.System.out;
import java.util.Arrays;
import java.util.List;
import static spark.Spark.*;
import com.codemonkey.model.Departamento;
import com.google.gson.Gson;


public class Main {
 
 public static final int STATUS = 200;
 public static final String TIPO = "application/json";
 
    public static void main(String[] args) {
     List<Departamento> departamentos = Arrays.asList(new Departamento("Informatica","Ramon_Romero")
       , new Departamento("Contabilidad","Viridiana_Gomez"), new Departamento("Recursos_Humanos","Ana_Lilia_Gutierrez"));
     out.println(departamentos.toString());
     //http://localhost:4567/departamentos
     get("/departamentos", (req, res)->{
      res.status(STATUS);
      res.type(TIPO);
      return departamentos.toString();
     }, new Gson()::toJson);
    }
    
}



//Construimos:
$ gradle build

//Ejecutamos:
$ gradle run

Abrimos el navegador en http://localhost:4567/departamentos

Links:
https://es.wikipedia.org/wiki/Gson
http://sparkjava.com/
https://codemonkeyjunior.wordpress.com/2019/01/24/gson-de-clase-a-json/

Vibe Coding (la programación vía IA): ¿el futuro de la programación?

Vibe Coding es un nuevo paradigma de programación, una nueva forma de crear código. Es un enfoque emergente en el desarrollo de sof...

Etiquetas

Archivo del blog