Commit d057025b authored by Juan Gualberto's avatar Juan Gualberto
Browse files

Arreglado CORS y SQL

parent f0029c84
......@@ -11,6 +11,8 @@ import java.util.Optional;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
// import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -27,6 +29,7 @@ import org.springframework.web.bind.annotation.RestController;
*
* @author profesor
*/
@CrossOrigin(origins = "*")
@RestController
@RequestMapping("/api")
public class Controlador {
......@@ -44,6 +47,14 @@ public class Controlador {
@Autowired
RepositorioProductoCategorias repoProductoCategorias;
@Autowired
RepositorioProductos repoProduct;
@GetMapping("/producto")
public List<Producto> getAllProducto(){
return repoProduct.findAll();
}
@GetMapping("/productocategoria")
public List<ProductoCategoria> getAllProductoCategoria(){
......
......@@ -2,7 +2,13 @@ package com.iesvdc.acceso.zapateria.gestionzapateria;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@EnableJpaRepositories(considerNestedRepositories = true)
@SpringBootApplication
......@@ -11,4 +17,15 @@ public class GestionZapateriaApplication {
public static void main(String[] args) {
SpringApplication.run(GestionZapateriaApplication.class, args);
}
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api").allowedOrigins("http://localhost:8000");
}
};
}
}
......@@ -2,7 +2,9 @@ package com.iesvdc.acceso.zapateria.gestionzapateria;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import java.io.Serializable;
import java.util.ArrayList;
......@@ -36,5 +38,45 @@ public class Producto implements Serializable {
@JoinColumn(name = "categoria", referencedColumnName = "id", nullable = false)
@ManyToOne(optional = false)
@JsonBackReference
private ProductoCategoria categoria;
public Producto() {
}
public Producto(Long id, String rutaImagen, ProductoCategoria categoria) {
super();
this.id = id;
this.rutaImagen = rutaImagen;
this.categoria = categoria;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getRutaImagen() {
return rutaImagen;
}
public void setRutaImagen(String rutaImagen) {
this.rutaImagen = rutaImagen;
}
public ProductoCategoria getCategoria() {
return categoria;
}
public void setCategoria(ProductoCategoria categoria) {
this.categoria = categoria;
}
}
package com.iesvdc.acceso.zapateria.gestionzapateria;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import java.io.Serializable;
import java.util.ArrayList;
......@@ -39,6 +41,9 @@ public class ProductoCategoria implements Serializable {
@Column(nullable = false, length = 40)
private String nombre;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "categoria")
private List<Producto> productoCategoriaList = new ArrayList<Producto>();
public ProductoCategoria() {
}
......@@ -60,6 +65,14 @@ public class ProductoCategoria implements Serializable {
public void setNombre(String nombre) {
this.nombre = nombre;
}
public List<Producto> getProductoCategoriaList() {
return productoCategoriaList;
}
public void setProductoCategoriaList(List<Producto> productoCategoriaList) {
this.productoCategoriaList = productoCategoriaList;
}
......
package com.iesvdc.acceso.zapateria.gestionzapateria;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity // Este POJO es una entidad (tabla en la BBDD)
@Table(name="producto_idioma")
public class ProductoIdioma {
// ID= clave primaria en la tabla
// GeneratedValue = Autoincrement
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// COLUMN=atributo de la tabla,
// NAME=nombre del campo en la tabla si es distinto al atributo del POJO
@Column(name="cod_idioma")
private String codIdioma;
@Column
private String nombre;
@Column
private String descripcion;
Producto producto;
}
package com.iesvdc.acceso.zapateria.gestionzapateria;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface RepositorioProductos extends JpaRepository<Producto, Long> {
}
......@@ -83,11 +83,11 @@ INSERT INTO producto(`id`,`ruta_imagen`,`categoria`) VALUES
(5,NULL,2);
CREATE TABLE `producto_idioma` (
id INT AUTO_INCREMENT PRIMARY KEY,
cod_idioma VARCHAR(2) NOT NULL,
nombre VARCHAR(40) NOT NULL,
descripcion VARCHAR(80) NOT NULL,
id_producto INT REFERENCES producto(id) ON UPDATE CASCADE,
PRIMARY KEY(cod_idioma,id_producto)
id_producto INT REFERENCES producto(id) ON UPDATE CASCADE
);
INSERT INTO producto_idioma(`cod_idioma`,`nombre`,`descripcion`,`id_producto`) VALUES
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment