我想使用此JSON将新数据发布到服务器:
{
"tgl_Lahir": "1990-12-18 00:00:00",
"nama": "Joe",
"keterangan": "Employee",
"tempatLahir": "Los Angeles",
"noPegawai": "111111",
"golDarah": "0",
"statusNikah": "0",
"hubungans": {
"id": "10"
},
"agama": {
"id_Agama": "1"
},
"jeniskelamin": {
"jenisKelamin": "1"
}
}
这是我的ApiClientPOST.java:
public class ApiClientPOST {
private static Retrofit retrofit = null;
public static Retrofit getClient(String url){
if(retrofit == null){
retrofit = new Retrofit.Builder().baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
}
这是我的APIUtils.java:
public class APIUtils {
private APIUtils(){
};
public static final String API_URL = "IPAddress/employee/family/add";
public static MainInterface getUserService(){
return ApiClientPOST.getClient(API_URL).create(MainInterface.class);
}
}
这是我的familylistresponsePOST.java:
public class familylistresponsePOST {
@SerializedName("noPegawai")
private String noPegawai;
@SerializedName("date_otor")
private Object dateOtor;
@SerializedName("jeniskelamin")
private Jeniskelamin jeniskelamin;
@SerializedName("keterangan")
private String keterangan;
@SerializedName("hubungans")
private Hubungans hubungans;
@SerializedName("tgl_Lahir")
private String tglLahir;
@SerializedName("nama")
private String nama;
@SerializedName("agama")
private Agama agama;
@SerializedName("statusNikah")
private String statusNikah;
@SerializedName("tempatLahir")
private String tempatLahir;
@SerializedName("id")
private int id;
@SerializedName("golDarah")
private String golDarah;
public void setNoPegawai(String noPegawai){
this.noPegawai = noPegawai;
}
public String getNoPegawai(){
return noPegawai;
}
public void setDateOtor(Object dateOtor){
this.dateOtor = dateOtor;
}
public Object getDateOtor(){
return dateOtor;
}
public void setJeniskelamin(Jeniskelamin jeniskelamin){
this.jeniskelamin = jeniskelamin;
}
public Jeniskelamin getJeniskelamin(){
return jeniskelamin;
}
public void setKeterangan(String keterangan){
this.keterangan = keterangan;
}
public String getKeterangan(){
return keterangan;
}
public void setHubungans(Hubungans hubungans){
this.hubungans = hubungans;
}
public Hubungans getHubungans(){
return hubungans;
}
public void setTglLahir(String tglLahir){
this.tglLahir = tglLahir;
}
public String getTglLahir(){
return tglLahir;
}
public void setNama(String nama){
this.nama = nama;
}
public String getNama(){
return nama;
}
public void setAgama(Agama agama){
this.agama = agama;
}
public Agama getAgama(){
return agama;
}
public void setStatusNikah(String statusNikah){
this.statusNikah = statusNikah;
}
public String getStatusNikah(){
return statusNikah;
}
public void setTempatLahir(String tempatLahir){
this.tempatLahir = tempatLahir;
}
public String getTempatLahir(){
return tempatLahir;
}
public void setId(int id){
this.id = id;
}
public int getId(){
return id;
}
public void setGolDarah(String golDarah){
this.golDarah = golDarah;
}
public String getGolDarah(){
return golDarah;
}
@Override
public String toString(){
return
"ListUserResponse2{" +
"noPegawai = '" + noPegawai + '\'' +
",date_otor = '" + dateOtor + '\'' +
",jeniskelamin = '" + jeniskelamin + '\'' +
",keterangan = '" + keterangan + '\'' +
",hubungans = '" + hubungans + '\'' +
",tgl_Lahir = '" + tglLahir + '\'' +
",nama = '" + nama + '\'' +
",agama = '" + agama + '\'' +
",statusNikah = '" + statusNikah + '\'' +
",tempatLahir = '" + tempatLahir + '\'' +
",id = '" + id + '\'' +
",golDarah = '" + golDarah + '\'' +
"}";
}
}
这是我的MainInterface.java:
@POST("IPADDRESS/WSHRIS/pegawai/family/add")
Call<familylistresponsePOST> addFamily(@Body familylistresponsePOST newFamily);
我尝试创建此方法并将其用于Button.setOnClickListener:
public void addFamily(familylistresponsePOST familylistresponsePOST){
Call<familylistresponsePOST> call = apiService.addFamily(familylistresponsePOST);
call.enqueue(new Callback<com.example.ess_app.familyservice.familylistresponsePOST>() {
@Override
public void onResponse(Call<com.example.ess_app.familyservice.familylistresponsePOST> call, Response<com.example.ess_app.familyservice.familylistresponsePOST> response) {
Toast.makeText(TambahDataKeluarga.this,"Data Berhasil Ditambahkan!", Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<com.example.ess_app.familyservice.familylistresponsePOST> call, Throwable t) {
Log.e("ERROR: ", t.getMessage());
}
});
}
这是我的tambah按钮:
tambah.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
familylistresponsePOST f = new familylistresponsePOST();
f.setNoPegawai(snopeg);
f.setNama(snama);
f.setTempatLahir(stmpLahir);
f.setTglLahir(stglLahir);
f.setKeterangan(sketerangan);
f.setStatusNikah(sstatusnikah);
f.setGolDarah(sgoldar);
// agamas.setAgama(valueAgama);
// hubungans.setHubungan(valueHubungan);
// jks.setJenisKelamin(valueJenisKelamin);
addFamily(f);
Log.d(f.getNama(),f.getGolDarah());
// Toast.makeText(TambahDataKeluarga.this,f, Toast.LENGTH_LONG).show();
}
});
[当我不使用“ Agama,Hubengan和JenisKelamin”时,吐司向我发送“成功添加!”但是当我在数据库中检查它时,数据没有存储。但是,当我使用“ Agama,Hubongan和JenisKelamin”时,相关的程序代码行中将出现一些错误。请帮我解决这个问题,谢谢:D
我看不到您在哪里定义Hubungans,Agama和Jeniskelamin类,尽管您将其用作familylistresponsePOST.java中的数据类型
创建了这三个类之后,希望您的问题能够得到解决。