uyarc
uyarc

Reputation: 616

How get object data in List using Retrofit2?

This is my data getting from database using Retrofit. I want get this data as List object;

[
        {
            "id": 5,
            "name": "test12",
            "coordinate": {
                "x": 1143.9999999999995,
                "y": 575.9999999999959
            },
            "type_id": 1,
            
        },
        {
            "id": 6,
            "name": "test2222",
            "coordinate": {
                "x": 2290.15625,
                "y": 323.59374999999636
            },
            "type_id": 2,
            
        }
    ]

This is my code to trying to call the data from my database;

private void getHardwareCoordinates(){

        String url = Constant.baseUrl;

        TokenInterceptor interceptor=new TokenInterceptor();
        OkHttpClient client = new OkHttpClient.Builder()
                .addInterceptor(interceptor)
                .build();


        Retrofit retrofit = new Retrofit.Builder()
                .client(client)
                .baseUrl(url)
                .addConverterFactory(ScalarsConverterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        Api service = retrofit.create(Api .class);

        Call<List<HardwareDataResponse>> call = service.getHardwareList();
        call.enqueue(new Callback<List<HardwareDataResponse>>() {
            @Override
            public void onResponse(Call<List<HardwareDataResponse>> call, Response<List<HardwareDataResponse>> response) {
                if(response.body() != null)
                {
                    List<HardwareDataResponse> hardWareList = response.body();
                    //response data
                    
                } else {
                    //errorBody 
                }
            }
            @Override
            public void onFailure(Call<List<HardwareDataResponse>> call, Throwable t) {

               // System.out.println(t);
            }
        });

    }

This is my seralizer class to get data as a List object;

public class HardwareDataResponse {

    @SerializedName("id")
    @Expose
    private Integer id;

    @SerializedName("name")
    @Expose
    private String name;

    @SerializedName("type_id")
    @Expose
    private Integer type_id;

    public Integer getHardwareId() {
        return id;
    }

    public void setHardwareId(Integer id) {
        this.id = id;
    }

    public String getHardwareName() {
        return name;
    }

    public void setHardwareName(String name) {
        this.name = name;
    }

    public Integer getHardwareTypeId() {
        return type_id;
    }

    public void setHardwareTypeId(Integer type_id) {
        this.type_id = type_id;
    }

}

I want to get "coordinate" object data using List hardWareList. How can add in HardwareDataResponse to seralize data.

Upvotes: 0

Views: 92

Answers (1)

Vishal
Vishal

Reputation: 184

Hello use [link][1] to create model classes [1]: https://www.freecodeformat.com/json2pojo.php

Upvotes: 1

Related Questions