Heim > Java > javaLernprogramm > Hauptteil

Umgang mit dem einheitlichen SpringBoot-Rückgabeformat

王林
Freigeben: 2023-05-10 21:04:13
nach vorne
1040 Leute haben es durchsucht

Hintergrund

Ich glaube, dass die meisten Back-End-Entwickler in der täglichen Entwicklung eine Schnittstelle zum Front-End benötigen. Wenn Sie das Front-End und das Back-End selbst erstellen, können Sie natürlich spielen, wie Sie möchten, aber wir müssen noch bestimmte Standards erreichen. In Projekten mit Front-End- und Back-End-Trennung muss das vom Back-End zurückgegebene Format benutzerfreundlich und fest sein und darf nicht häufig geändert werden, da es sonst eine große Arbeitsbelastung für die Front-End-Entwickler mit sich bringt. Gemeinsames Rückgabeformat von SpringBoot Controller

Fehlerrückgabe

@PostMapping("/test")
public String test(){
    return "Hello World";
}
Nach dem Login kopieren

Ergebnis des Postboten-Anrufs:

Umgang mit dem einheitlichen SpringBoot-Rückgabeformat

Definieren Sie das Rückgabeobjekt

Ich definiere zwei ActionResult-Objekte, um den Rückgabewert zu kapseln, der entsprechend der tatsächlichen Situation Ihres Unternehmens geändert werden kann:

    @PostMapping("/getUser")
    public ActionResult getUser(){
        User user = new User();
        user.setId(UUID.randomUUID().toString());
        user.setName("MrDong");
        user.setAge(20);
        return ActionResult.defaultOk(user);
    }
Nach dem Login kopieren

Statusaufzählung definieren

   @PostMapping("/error")
    public ActionResult error(){
        return ActionResult.defaultFail(1000,"服务器异常,请联系管理员");
    }
Nach dem Login kopieren
Unify Behandlung von Rückgabewerten und Ausnahmen

Implementierungsprinzip: Es ist erforderlich, die von SpringBoot bereitgestellte ResponseBodyAdvice-Schnittstelle zu implementieren, um die Kapselung einheitlicher Rückgabewerte und Ausnahmebehandlung abzuschließen. Nach der Implementierung dieser Schnittstelle müssen Sie das Objekt nur direkt zurückgeben, wenn der Controller zurückkehrt. Einige, die keinen Rückgabewert benötigen, können direkt void zurückgeben.

package com.wxd.entity;
import com.wxd.enums.ResultCodeEnum;
import lombok.Data;

/**
 * @ClassName ActionResult
 * @Description 统一返回值封装
 * @Author Mr Dong
 * @Date 2022/7/26 14:51
 */
@Data
public class ActionResult {
    private Integer code;
    private String msg;
    private Integer count;
    private Object data;
    public static ActionResult defaultOk(Integer code, String msg, Integer count, Object data) {
        return new ActionResult(code, msg, count, data);
    }

    public static ActionResult defaultOk(Integer count, Object data) {
        return new ActionResult(ResultCodeEnum.RC200, count, data);
    }

    public static ActionResult defaultOk(Object data) {
        return new ActionResult(ResultCodeEnum.RC200, null, data);
    }

    public static ActionResult defaultOk() {
        return new ActionResult(ResultCodeEnum.RC200);
    }
    public static ActionResult defaultFail() {
        return new ActionResult(ResultCodeEnum.RC999);
    }
    public static ActionResult defaultFail(Integer code, String msg) {
        return new ActionResult(code, msg);
    }
    public static ActionResult defaultFail(ResultCodeEnum resultCodeEnum) {
        return new ActionResult(resultCodeEnum);
    }
    public ActionResult(Integer code, String msg, Integer count, Object data) {
        this.code = code;
        this.msg = msg;
        this.count = count;
        this.data = data;
    }
    public ActionResult(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }
    public ActionResult(ResultCodeEnum resultCodeEnum) {
        this.code = resultCodeEnum.getCode();
        this.msg = resultCodeEnum.getMessage();
    }
    public ActionResult(ResultCodeEnum resultCodeEnum, Integer count, Object data) {
        this.code = resultCodeEnum.getCode();
        this.msg = resultCodeEnum.getMessage();
        this.count = count;
        this.data = data;
    }
}
Nach dem Login kopieren
Umgang mit dem einheitlichen SpringBoot-Rückgabeformatvoid hat keinen Rückgabewert

hat einen Rückgabewert

Umgang mit dem einheitlichen SpringBoot-Rückgabeformat

Das obige ist der detaillierte Inhalt vonUmgang mit dem einheitlichen SpringBoot-Rückgabeformat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage