Controller
Primero vamos a crear una utildad para crear el id de nuestros torneos. Creamos el paquete com.tutosoftware.ligaaztecaapi.utilAcontinuación creamos la clase IdClass
package com.tutosoftware.ligaaztecaapi.util;
public class IdClass {
public IdClass() {}
public String uuid() {
Long numero = System.currentTimeMillis();
String cadena=numero.toString();
return cadena;
}
}
A continuación vamos a crear las clases con el controller, creamos el paquete com.tutosoftware.ligaaztecaapi.controller
En este paquete creamos la clase UsuarioAdminController
package com.tutosoftware.ligaaztecaapi.controller;
import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
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.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
import com.tutosoftware.ligaaztecaapi.domain.UsuarioAdmin;
import com.tutosoftware.ligaaztecaapi.repository.UsuarioAdminRepository;
@RestController
@RequestMapping(value="/api")
@CrossOrigin("*")
public class UsuarioAdminController {
@Autowired
UsuarioAdminRepository usuarioAdminRepository;
@ResponseStatus(HttpStatus.OK)
@GetMapping("/usuarioadmin/{email}")
public ResponseEntity<UsuarioAdmin> getUsuarioAdminById(@PathVariable("email") String email) {
Optional<UsuarioAdmin> usuarioAdminData = usuarioAdminRepository.findById(email);
if (usuarioAdminData.isPresent()) {
return new ResponseEntity<>(usuarioAdminData.get(), HttpStatus.OK);
} else {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
}
}
Creamos la clase TorneoController
package com.tutosoftware.ligaaztecaapi.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
import com.tutosoftware.ligaaztecaapi.domain.Torneo;
import com.tutosoftware.ligaaztecaapi.repository.TorneoRepository;
import com.tutosoftware.ligaaztecaapi.util.IdClass;
@RestController
@RequestMapping(value="/api")
@CrossOrigin("*")
public class TorneoController {
@Autowired
TorneoRepository torneoRepository;
@ResponseStatus(HttpStatus.CREATED)
@PostMapping("/torneos")
public ResponseEntity<Torneo> createTorneo(@RequestBody Torneo torneo) {
try {
IdClass idTorneo = new IdClass();
torneo.setIdTorneo(idTorneo.uuid());
Torneo _torneo = torneoRepository.save(new Torneo(torneo.getIdTorneo(),torneo.getNombreTorneo(),torneo.getCantidadEquipos(),
torneo.getActivarTorneo(),torneo.getCostoInscripcion(),torneo.getNumJugPorEquipo(),torneo.getNumVueltas(),torneo.getRefuerzos()));
return new ResponseEntity<>(_torneo, HttpStatus.CREATED);
} catch (Exception e) {
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@GetMapping("/torneos/{activartorneo}")
public ResponseEntity<List<Torneo>> torneoActivos(@PathVariable("activartorneo") int activartorneo) {
try {
List<Torneo> torneos = torneoRepository.findByActivarTorneo(activartorneo);
if (torneos.isEmpty()) {
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
return new ResponseEntity<>(torneos, HttpStatus.OK);
} catch (Exception e) {
return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}
Creamos la clase EquipoController
package com.tutosoftware.ligaaztecaapi.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
import com.tutosoftware.ligaaztecaapi.domain.Equipo;
import com.tutosoftware.ligaaztecaapi.repository.EquipoRepository;
@RestController
@RequestMapping(value="/api")
@CrossOrigin("*")
public class EquipoController {
@Autowired
EquipoRepository equipoRepository;
@ResponseStatus(HttpStatus.CREATED)
@PostMapping("/equipos")
public ResponseEntity<Equipo> createEquipo(@RequestBody Equipo equipo) {
try {
Equipo _equipo = equipoRepository.save(new Equipo(equipo.getPk(),equipo.getNombreEquipo(),
equipo.getDelegado(),equipo.getCampo(),equipo.getEmail(),equipo.getPassword(),
equipo.getTelefono(),equipo.getIdStatus()));
return new ResponseEntity<>(_equipo, HttpStatus.CREATED);
} catch (Exception e) {
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}