Rest Template with Simple Get Request in Spring Boot Example

import org.springframework.http.HttpHeaders;

@Autowired
RestClientService restClientService = new RestClientService();

AdmitadTokenBean admitadTokenBean = (AdmitadTokenBean) Utils.convertJsonToObject(jsonResponse,
						AdmitadTokenBean.class);
String acccessToken = admitadTokenBean.getAccessToken();
HttpHeaders httpHeaders = getAuthenticationHeader(acccessToken);
String admitadCountUrl = "https://api.admitad.com/coupons/website/473559/?region=IN&language=en&offset=0&limit=1";
NgRestResponse admitadCountResponse = restClientService.get(admitadCountUrl, httpHeaders);
String countResponse = admitadCountResponse.getData();
AdmitadCouponsBean admitadCountBean = (AdmitadCouponsBean) Utils.convertJsonToObject(countResponse,
					AdmitadCouponsBean.class);
float totalCounts = admitadCountBean.getMeta().getCount();

Utils.convertJsonToObject method:

import com.fasterxml.jackson.databind.ObjectMapper;
public static Object convertJsonToObject(String jsonString, Class<?> valueType) throws Exception {
        Object object = null;

        try {
            object = (new ObjectMapper()).readValue(jsonString, valueType);
            return object;
        } catch (Exception e) {            
            throw new Exception(e.getMessage(), e);
        }
    }
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.saveji.commons.utils.Status;
import java.io.InputStream;

@JsonInclude(Include.NON_NULL)
public class NgRestResponse {
    private String data;
    private Status status;
    private String errorMessage;
    private InputStream inputStream;

    public RestResponse() {
    }

    public String getData() {
        return this.data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public Status getStatus() {
        return this.status;
    }

    public void setStatus(Status status) {
        this.status = status;
    }

    public InputStream getInputStream() {
        return this.inputStream;
    }

    public void setInputStream(InputStream inputStream) {
        this.inputStream = inputStream;
    }

    public String getErrorMessage() {
        return this.errorMessage;
    }

    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }

    public String toString() {
        return "NgRestResponse [data=" + this.data + ", status=" + this.status + ", errorMessage=" + this.errorMessage + ", inputStream=" + this.inputStream + "]";
    }
}

Leave a Reply