第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【九月打卡】第五天 優(yōu)雅的返回封裝結(jié)果

標(biāo)簽:
Java

课程名称:Spring Cloud 进阶 Alibaba 微服务体系自媒体实战
课程章节: 第2章 架构后端项目
主讲老师: 风间影月

课程内容

不论是网页还是app,后端都需要构建一个json对象的封装,来让前端人员对接。

在上节课程中,写了一个Hello接口,响应参数是直接写死为String,但是在企业实际的项目开发的过程当中,通常会返回一个状态码。前端(H5/小程序/app)会对响应参数进行封装。例如:后端返回500,前端会直接提示后端执行异常。

本章当中,提到了。通常在设计公共返回参数的常用的一些状态码:

200:表示成功
500:表示错误,错误信息在msg字段中
501:bean验证错误,不管多少个错误都以map形式返回
502:拦截器拦截到用户token出错
555:异常抛出信息
556: 用户qq校验异常
557: 校验用户是否在CAS登录,用户门票的校验

在设计公共响应属性当中,通常需要包含以下字段:

status:响应业务状态。

msg:响应前端的信息。

data:响应具体数据。

课程收获

通过本章的学习,独立的封装类一个响应参数类:

package org.obtain.obtain_customer_server.common;

/**
 * @author lihq
 * @title: 异常处理类
 * @projectName obtain_customer_server
 * @description:
 * 调用方式:
 * 正常返回:Result.success(service.getAll());
 * 异常返回:Result.error(ERROR_1);
 * @date 2022/9/10 19:08
 */
public class Result<T> {

    /**
     * 状态码
     */
    private int code;
    /**
     * 返回的信息
     */
    private String msg;
    /**
     * 返回的数据
     */
    private T data;


    /**
     * 成功时候的调用(有数据)
     * @param data
     * @param <T>
     * @return
     */
    public static <T> Result<T> success(T data){
        return new Result<T>(data);
    }

    /**
     * 成功时候的调用(无数据)
     * @param <T>
     * @return
     */
    public static <T> Result<T> success(){
        return new Result<T>();
    }

    /**
     * 异常时候的调用(有msg参数)
     * @param msg
     * @param <T>
     * @return
     */
    public static <T> Result<T> error(String msg){
        return new Result<T>(msg);
    }

    /**
     * 异常时候的调用(无msg参数)
     * @param <T>
     * @return
     */
    public static <T> Result<T> error(){
        return new Result<T>("error");
    }

    /**
     * 异常时候的调用(固定参数)
     * @param error
     * @param <T>
     * @return
     */
    public static <T> Result<T> error(BizError error){
        return new Result<T>(error);
    }

    private Result(BizError error) {
        if (error == null){
            return ;
        }
        this.code = error.getCode();
        this.msg = error.getMsg();
    }

    private Result(T data) {
        this.code = 200;
        this.msg = "success";
        this.data = data;
    }

    private Result() {
        this.code = 200;
        this.msg = "success";
    }

    private Result(String msg) {
        this.code = 400;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }

    public T getData() {
        return data;
    }

}

在Controller的请求实际代码参考:

@PostMapping("/getUserInfo")
public Result<Customer> getUserInfo(){
    Customer customer = customerService.getById(StpUtil.getLoginIdAsLong());
    return Result.success(customer);
}

课程截屏

https://img1.sycdn.imooc.com//631c893c0001b6d707470406.jpg

https://img1.sycdn.imooc.com//631c894b0001293007420443.jpg

https://img1.sycdn.imooc.com//631c89540001665c07440433.jpg


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消