spring boot 통합 JSON 형식의 인터페이스 반환 결과 구현
첫 번 째 단 계 는 자바 빈 을 정의 합 니 다.
package com.yclouds.myhelper.web.response;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yclouds.myhelper.web.error.code.BaseEnumError;
import java.io.Serializable;
import lombok.Data;
/**
*
*
* @author ye17186
* @version 2019/2/15 14:40
*/
@Data
public class ApiResp<T> implements Serializable {
private static final long serialVersionUID = 9211889136173018364L;
/**
*
*/
private static final int SUCCESS_CODE = 0;
/**
*
*/
private static final String SUCCESS_MSG = "SUCCESS";
/**
*
*/
private int code = SUCCESS_CODE;
/**
*
*/
private String msg = SUCCESS_MSG;
/**
* , null
*/
private T data = null;
/**
*
*
* @return true= ;false=
*/
@JsonIgnore
public boolean isOK() {
return code == SUCCESS_CODE;
}
/**
* data
*/
public static ApiResp retOK() {
return new ApiResp();
}
/**
* data
*
* @param data data
* @param <T> data
*/
public static <T> ApiResp<T> retOK(T data) {
ApiResp<T> response = new ApiResp<>();
response.setData(data);
return response;
}
/**
* data
*
* @param error
*/
public static ApiResp retFail(BaseEnumError error) {
return retFail(error.getCode(), error.getMsg());
}
/**
* data
*
* @param error
* @param data
*/
public static <T> ApiResp<T> retFail(BaseEnumError error, T data) {
return retFail(error.getCode(), error.getMsg(), data);
}
/**
* data
*
* @param code
* @param msg
*/
public static <T> ApiResp<T> retFail(int code, String msg) {
ApiResp<T> response = new ApiResp<>();
response.setCode(code);
response.setMsg(msg);
return response;
}
/**
* data
* <br>
* , T
*
* @param code
* @param msg
*/
public static <T> ApiResp<T> retFail(int code, String msg, T data) {
ApiResp<T> response = new ApiResp<>();
response.setCode(code);
response.setMsg(msg);
response.setData(data);
return response;
}
}
두 번 째 단 계 는 Controller 에서 사용 합 니 다.
@GetMapping("/test1")
public ApiResp test1() {
return ApiResp.retOK("Hello World");
}
@GetMapping("/test2")
public ApiResp test2() {
return ApiResp.retFail(BaseEnumError.SYSTEM_NO_LOGIN);
}
Postman 에서 구체 적 인 응답 내용 을 볼 수 있 습 니 다.다음 과 같 습 니 다.물론 ApiResp 의 범용 도 복잡 한 데이터 대상 을 사용 할 수 있다.실제 개발 에서 모든 오류 응답 은 자신의 응답 코드 코드 와 오류 정보 msg 가 있 습 니 다.예제 에서 BaseEnumError 의 매 거 진 종 류 를 통일 적 으로 정 의 했 습 니 다.구체 적 인 내용 은 제 github 프로젝트 를 참조 할 수 있 습 니 다https://github.com/ye17186/myhelper-spring-boot-starter
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.