0

我在 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());
            }
        });

安卓接口.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!";
    }

展望模型.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'' 以及它所需的所有数据,在我的后端它仍然说我没有数据

4

1 回答 1

0

在我的数据库中,“名词”列是带有大写字母的“名词”,所以这就是我猜的全部。对于有相同问题的任何人,请检查 getter 和 setter,并将其与列数据库中的相同。

于 2021-04-24T14:35:30.150 回答