Данные POST с модификацией 2, токен на предъявителя не авторизован android - PullRequest
1 голос
/ 21 апреля 2020

Я хочу опубликовать новые данные на сервере с этим 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);
    }

}

Вот мой список рассылки familyPort. 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 + '\'' +
                        "}";
    }
}

Я пытался создать этот метод и использовать его на своем Button.setOnClickListener:

  public void addFamily(String noPegawai,String agama, String hubungan, String jenisKelamins, String tgl_Lahir, String nama, String keterangan, String tempatLahir, String golDarah, String statusNikah){
        SharedPreferences preferences = getSharedPreferences("MyPref",0);
        String tokens = preferences.getString("userToken",null);
        Call<familylistresponse> call = apiService.addFams(noPegawai,agama, hubungan, jenisKelamins, tgl_Lahir , nama, keterangan, tempatLahir, golDarah, statusNikah, "Bearer" + tokens);
        call.enqueue(new Callback<familylistresponse>() {
            @Override
            public void onResponse(Call<familylistresponse> call, Response<familylistresponse> response) {
//                if (response.isSuccessful()){
                    familylistresponse resultsData = new familylistresponse();
                    resultsData= response.body();
                    Toast.makeText(TambahDataKeluarga.this,"Data Berhasil Ditambahkan!" + resultsData, Toast.LENGTH_SHORT).show();
//                }
            }

            @Override
            public void onFailure(Call<familylistresponse> call, Throwable t) {
                Log.e("ERROR: ", t.getMessage());
            }
        });
    }

Это моя тамба. Кнопка:

tambah.setOnClickListener(v -> {

            SharedPreferences preferences = getSharedPreferences("MyPref",0);
            String noPegawai = preferences.getString("noPegawai",null);
            String snopeg = etNoPegawai.getText().toString().trim();
            String snama = etNama.getText().toString().trim();
            String stmpLahir = etTmptLahir.getText().toString().trim();
            String stglLahir = etTglLahir.getText().toString().trim();
            String sketerangan = etKeterangan.getText().toString().trim();
            String sgoldar = etGoldar.getText().toString().trim();
            String sstatusnikah = etStatusNikah.getText().toString().trim();

            valueJenisKelamin = jeniskelamin.getSelectedItem().toString();
            valueHubungan = spHubungans.getSelectedItem().toString();
            valueAgama = spAgama.getSelectedItem().toString();

            familylistresponse f = new familylistresponse();
            f.setNoPegawai(snopeg);
            agamas.setAgama(spAgama.getSelectedItem().toString().trim());
            jks.setJenisKelamin(jeniskelamin.getSelectedItem().toString().trim());
            hubungans.setHubungan(spHubungans.getSelectedItem().toString().trim());
            addFamily(snopeg, valueAgama, valueHubungan, valueJenisKelamin, stglLahir, snama,  sketerangan, stmpLahir, sgoldar, sstatusnikah);
            Log.d(f.getNama(),f.getGolDarah());

            Toast.makeText(TambahDataKeluarga.this,"No pegawai "+ noPegawai + " Nama Pegawai "+ snama+ " Tgl Lahir "+ stglLahir
                        + " Agama " + valueAgama
                        + " Hubungan " + valueHubungan
                        + " Jenis Kelamin " + valueJenisKelamin
                        + " Tgl Lahir " + stglLahir
                        + " Keterangan " + sketerangan
                        + " Tempat Lahir " + stmpLahir
                        + " Goldar " + sgoldar
                        + " Status Nikah " + sstatusnikah,Toast.LENGTH_LONG).show();

        });

Тост говорит, что данные успешно сохранены, но на самом деле это не так. Тост также говорит, что response.body () имеет значение null, и в logcat нет ошибок даже в отладчике. Пожалуйста, помогите мне. Заранее спасибо за любую помощь

1 Ответ

0 голосов
/ 21 апреля 2020

Я не вижу, где вы определяете классы Hubungans, Agama и Jeniskelamin, хотя вы используете его в качестве типа данных в своем familylistresponsePOST. java

После создания этих трех классов, я надеюсь, что ваша проблема будет решена .

...