SpringBoot通用返回类定义

介绍

在SpringBoot项目开发中,经常会需要定义通用返回类来封装接口返回的数据,这样即统一了后端接口的数据,也方便前端调用

一般情况下,会将后台处理好的数据以JSON格式返回

通用返回类

通用返回类一般会定义各种返回状态,下面只定义了部分的状态,其他状态可参考自行定义

package com.example.mysql.config;

import com.alibaba.fastjson.JSON;
import java.util.HashMap;
import java.util.Objects;

/**
 * @description: 返回对象
 * @author: zj
 * @date: 2022-07-14 13:40
 */
public class R {

    private static JSON json;

    /**
     * 请求成功
     * @param obj
     * @return
     */
    public static String ok(Object obj) {
        HashMap<String, Object> res = new HashMap<>();
        res.put("status", "200");
        res.put("data", obj);
        return json.toJSONString(res);
    }

    /**
     * 请求失败
     * @param obj
     * @return
     */
    public static String fail(Object obj) {
        HashMap<String, Object> res = new HashMap<>();
        res.put("status", "500");
        res.put("data", obj);
        return json.toJSONString(res);
    }

}

调用

通用返回类定义好了,那么怎么使用呢?其实很简单,看看下面的例子吧

@GetMapping("/mysql/process")
public String process() {

    //处理数据
    List<User> users = userMapper.selectSub(0, 2);
    return R.ok(users);
    
}

注意传入的参数必须是原始类型,不能传入JSON字符串类型的数据,因为通用返回类内部已经做了处理,如果对同一对象做两次JSON字符串转换将会使得返回的JSON数据不可读(不易读)

效果

我们看到数据已经按照通用类的格式返回了

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Boot中的RestTemplate是一个用于发送HTTP请求的工具。它是Spring框架中自带的rest客户端工具,具有丰富的API。在Spring Cloud中,可以使用@LoadBalanced注解来实现客户端负载均衡的REST调用。\[1\] 要在Spring Boot项目中使用RestTemplate,首先需要引入配置。可以创建一个@Configuration,并在其中定义一个名为"myRestTemplate"的Bean,返回一个RestTemplate实例。可以通过设置连接超时和读取超时等参数来配置RestTemplate的行为。\[2\] RestTemplate从3.0版本开始支持,它提供了常见的REST请求方案模板,如GET请求、POST请求、DELETE请求和PUT请求,以及一些通用的请求执行方法,如exchange和execute。通过使用RestTemplate,可以方便地发送HTTP请求并处理响应。\[3\] #### 引用[.reference_title] - *1* *3* [Springboot 基础9 -- SpringBoot 调用接口 RestTemplate 实现](https://blog.csdn.net/it_lxg123/article/details/117534358)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [SpringBoot RestTemplate Http请求工具](https://blog.csdn.net/fuu123f/article/details/108099323)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BirdMan98

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值