我是说,在我的打印中,它返回参数。但是在findbyId方法中找不到请求的文件。
主控制器方法:
@Controller
@RequestMapping(path="/festivales")
public class MainController {
@Autowired
private FestivalRepository festivalRepository;
@Autowired
private UsuarioRepository usuarioRepository;
//http://localhost:8080/festivales/all-festivales
@GetMapping(path="/all-festivales")
public @ResponseBody Iterable<Festival> getAllFestivales() {
// This returns a JSON or XML with the users
return festivalRepository.findAll();
}
//Doesn't work
@GetMapping("/all-festivales/{id}")
public Festival getFestival(@PathVariable int id) throws Exception {
Optional<Festival> student = festivalRepository.findById(id);
if (!student.isPresent())
throw new Exception("id-" + id);
System.out.println(id);
System.out.println(student.get());
System.out.println(student.get().toString());
return student.get();
}
班级节日:
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Festival {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
private String name;
private String descripcion;
private String genero;
private double precio;
private int dias;
private String fecha_ini;
private String fecha_fin;
public Festival() {}
public Festival(int id, String name, String descripcion, String genero, double precio, int dias, String fecha_ini, String fecha_fin) {
this.id = id;
this.name = name;
this.descripcion = descripcion;
this.genero = genero;
this.precio = precio;
this.dias = dias;
this.fecha_ini = fecha_ini;
this.fecha_fin = fecha_fin;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public String getGenero() {
return genero;
}
public void setGenero(String genero) {
this.genero = genero;
}
public double getPrecio() {
return precio;
}
public void setPrecio(double precio) {
this.precio = precio;
}
public int getDias() {
return dias;
}
public void setDias(int dias) {
this.dias = dias;
}
public String getFecha_ini() {
return fecha_ini;
}
public void setFecha_ini(String fecha_ini) {
this.fecha_ini = fecha_ini;
}
public String getFecha_fin() {
return fecha_fin;
}
public void setFecha_fin(String fecha_fin) {
this.fecha_fin = fecha_fin;
}
}
存储库:
import org.springframework.data.repository.CrudRepository;
import com.example.pruebas.festivalapp.model.Festival;
//This will be AUTO IMPLEMENTED by Spring into a Bean called userRepository
//CRUD refers Create, Read, Update, Delete
public interface FestivalRepository extends CrudRepository<Festival, Integer> {
}
这是我放在本地主机中攻击它的MySQL数据:
[
{
"id": 1,
"name": "Viñarock",
"descripcion": "Festival de rock rap y mestizaje",
"genero": "rock",
"precio": 50.0,
"dias": 3,
"fecha_ini": "10-05-2019",
"fecha_fin": "12-05-2019"
},
{
"id": 2,
"name": "Resurrection Fest",
"descripcion": "Festival de rock, metal, hardcore..",
"genero": "rock",
"precio": 80.0,
"dias": 3,
"fecha_ini": "10-07-2019",
"fecha_fin": "12-07-2019"
},
{
"id": 3,
"name": "MareaRock Fest",
"descripcion": "Festival de punk rock",
"genero": "punk",
"precio": 15.0,
"dias": 1,
"fecha_ini": "10-04-2019",
"fecha_fin": "12-04-2019"
},
{
"id": 4,
"name": "Festardor",
"descripcion": "Festival de punk y rap",
"genero": "otros",
"precio": 20.0,
"dias": 2,
"fecha_ini": "10-09-2019",
"fecha_fin": "12-09-2019"
},
{
"id": 5,
"name": "Festival de les arts",
"descripcion": "Festival indie",
"genero": "otros",
"precio": 40.0,
"dias": 2,
"fecha_ini": "10-06-2019",
"fecha_fin": "12-06-2019"
}
]
有人能帮我吗?谢谢。