resttemplate 请求返回值为范型

本文介绍如何使用Spring框架的RestTemplate进行RESTful API的分页查询操作,包括设置分页参数、发送POST请求及解析返回的泛型数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


public BaseResult<AAA> test(){
    Page page = new Page();
    page.setPageNo(1);
    page.setPageSize(10);
    HttpEntity httpEntity = new HttpEntity(page);
    ParameterizedTypeReference<BaseResult<AAA>> typeRef = new ParameterizedTypeReference<BaseResult<AAA>>() {};
    String url = "url";
    BaseResult<AAA> result = restTemplate.exchange(url, HttpMethod.POST, httpEntity, typeRef).getBody();
    return result;
}

 

    public BaseResult<AAA> test1(){
        Page page = new Page();
        page.setPageNo(1);
        page.setPageSize(10);
        String url = "url";
        String result = restTemplate.postForEntity (url,  page, String.class).getBody();
        BaseResult<AAA> placeTypeBaseResult = new Gson().fromJson(result, new TypeToken<BaseResult<AAA>>() {}.getType());
        return placeTypeBaseResult;
    } 




package com.example.demo.dto;

/**
 * @author 
 * @description TODO
 * @date 2019/3/12
 */
public class BaseResult<T> {

    private int resultCode;
    private BaseResultData<T> data;

    public int getResultCode() {
        return resultCode;
    }

    public void setResultCode(int resultCode) {
        this.resultCode = resultCode;
    }

    public BaseResultData<T> getData() {
        return data;
    }

    public void setData(BaseResultData<T> data) {
        this.data = data;
    }
}
package com.example.demo.dto;

import java.util.List;

/**
 * @author 
 * @description TODO
 * @date 2019/3/12
 */
public class BaseResultData<T> {
    private int pageNo;
    private int pageSize;
    private int totalPage;
    private int total;
    private List<T> rows;

    public int getPageNo() {
        return pageNo;
    }

    public void setPageNo(int pageNo) {
        this.pageNo = pageNo;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getTotalPage() {
        return totalPage;
    }

    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public List<T> getRows() {
        return rows;
    }

    public void setRows(List<T> rows) {
        this.rows = rows;
    }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值