SpringToolsSuite 表示列“Nombre”不能为空

问题描述

我在 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 并将其放入列数据库中。