miércoles, 14 de marzo de 2018

SpringBoot Road

Spring Boot desde Eclipse con REST

En github https://github.com/jalbertomr/SpringBootQuickStartEclipse.git

  Creación del proyecto maven desde el portal start.spring.io



Estructura del proyecto, una vez descomprimido, visto desde el explorador de archivos.


Se importa el proyecto desde Eclipse


Desde el sistema de archivos


Estructura del archvivo pom.xml y sus dependencias


 Ejecución de la aplicación de spring boot.

Vista desde el servidor en ejecución.

Se cambia la configuración del servidor tomcat desde la aplicación en archivo application.properties
con server.port=9000

Ejecución desde el puerto 9000

   Se mapea un controlador con simple respuesta.

La respuesta del controlador mapeado.

Controller

Controller Run

GET un solo recurso

GET todos los temas

POST, nuevo elemento /temas

GET /temas con el nuevo tema creado

Actualizar tema 

Verificamos actualización

Agreamos un tema para después Borrarlo

Borramos el tema

Verificamos si se borro el tema

Temas

@Entity
public class Topic {

@Id
private String id;
private String name;
private String description;
public Topic() {
}
public Topic(String id, String name, String description) {
super();
this.id = id;
this.name = name;
this.description = description;
}

  setters y getters...

----------------------------------------
public interface TopicRepository extends CrudRepository<Topic, String> {
}
-----------------------------------------
@Service
public class TopicService {
@Autowired
private TopicRepository topicRepository;
public List<Topic> getAllTopics() {
List<Topic> topics = new ArrayList<Topic>();
topicRepository.findAll()
.forEach(topics::add);
return topics;
}
public Topic getTopic(String id) {
return topicRepository.findById(id).get();
}

public void addTopic(Topic topic) {
topicRepository.save(topic);
}

public void updateTopic(String id, Topic topic) {
topicRepository.save(topic);
}

public void deleteTopic(String id) {
topicRepository.deleteById(id);
}
}
----------------------------------------------------
@RestController
public class TopicController {
@Autowired
private TopicService topicService;
    @RequestMapping("/temas")
public List<Topic> getAllTopics() {
return topicService.getAllTopics();
}
    
    @RequestMapping("/temas/{id}")
    public Topic getTopic(@PathVariable String id) {
    return topicService.getTopic(id);
    }
    
    @RequestMapping(method=RequestMethod.POST, value="/temas")
    public void addTopic(@RequestBody Topic topic) {
    topicService.addTopic(topic);
    }
    
    @RequestMapping(method=RequestMethod.PUT, value="/temas/{id}")
    public void updateTopic(@RequestBody Topic topic, @PathVariable String id ) {
    topicService.updateTopic(id, topic);
    }
    
    @RequestMapping(method=RequestMethod.DELETE, value="/temas/{id}")
    public void deleteTopic(@PathVariable String id) {
    topicService.deleteTopic(id);
    }
}
----------------------------------------------
continua...


fdt

No hay comentarios:

Publicar un comentario