问题描述
我在 android 中使用 gson 进行改造,我正在学习一个教程,所以教程中的那个人让它工作,但我不能 当我调用改造方法时,我的 json 数据似乎丢失了,这是我在 android 中的调用
安卓活动.JAVA
public void addProspecto(Prospecto p){
prospectoService= Apis.getProspectoService();
Call<Prospecto>call=prospectoService.addProspecto(p);
call.enqueue(new Callback<Prospecto>() {
@Override
public void onResponse(Call<Prospecto> call,Response<Prospecto> response) {
if(response.isSuccessful()){
Toast.makeText(ProspectoActivity.this,"Se agrego con éxito",Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(Call<Prospecto> call,Throwable t) {
Log.e("Error:",t.getMessage());
}
});
ANDROIDINTERFACE.JAVA
@POST("agregar")
Call<Prospecto>addProspecto(@Body Prospecto prospecto);
springtools java 中的后端 ProspectoController.java
@RestController
@RequestMapping("/prospectos")
public class ProspectoController {
@Autowired
private ProspectoService service;
@GetMapping("/listar")
public List<Map<String,Object>> listar(){
return service.listar();
}
@PostMapping("/agregar")
@ResponseBody
public String save(@RequestBody Prospecto p) {
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
System.out.println(p.getNombre());
int id=service.add(p);
if(id==0) {
return "No se pudo Regsitrar!";
}
return "Se registró con éxito!";
}
Prospecto model.java
@Data
public class Prospecto {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int ID;
private String nombre;
private String apPaterno;
private String apMaterno;
private String calle;
private String numero;
private String colonia;
private String cP;
private String telefono;
private String rFC;
private File documentos;
private String statusProspecto;
}
最后是我使用 sql 查询的存储库或文件: ProspectoDAO
@Repository
public class ProspectoDAO implements ProspectoInterface {
@Autowired
JdbcTemplate template;
@Override
public List<Map<String,Object>> listar() {
// Todo Auto-generated method stub
List<Map<String,Object>>lista=template.queryForList("Select * from prospectos");
return lista;
}
@Override
public List<Map<String,Object>> listar(int id) {
// Todo Auto-generated method stub
return null;
}
@Override
public int add(Prospecto p) {
String sql = "insert into prospectos(Nombre,apPaterno,apMaterno,Calle,Numero,Colonia,CP,Telefono,RFC,Documentos,statusProspecto)values(?,?,?)";
return template.update(sql,p.getNombre(),p.getApPaterno(),p.getApMaterno(),p.getCalle(),p.getNumero(),p.getColonia(),p.getCP(),p.getTelefono(),p.getRFC(),p.getDocumentos(),p.getStatusProspecto()
);
}
请帮忙,我正在发送带有 ''nombre'' 的对象 ''Prospecto'' 以及它所需的所有数据,在我的后端它仍然说我没有数据
解决方法
在我的数据库中,“nombre”列是带有大写字母的“Nombre”,所以我猜这就是全部。对于遇到相同问题的任何人,请检查 getter 和 setter 并将其放入列数据库中。