자바 방법 공통 반환 결과 집합 패키지 작업
이때 다음 두 가지 방식 으로 포장 방법의 반환 값 을 진행 할 수 있 습 니 다.
1.결 과 를 되 돌려 받 기 위해 HashMap 을 사용 합 니 다.
1.방법 중의 데 이 터 를 hashmap 에 밀봉 합 니 다.
public Map<String,Object> result(Object object)
{
Map<String,Object> result = new HashMap<String, Object>();
result.put("status", "1");
result.put("msg", " ");
if( 1 )
{
result.put("status", "-1");
result.put("msg", "....");
return result;
}
if( 2 )
{
result.put("status", "-1");
result.put("msg", "....");
return result;
}
//
Object data = new Object();
result.put("data", data);
return result;
}
2.방법 호출:
public void test()
{
Map<String,Object> result = this.result(new Object());
if(!"1".equals(result.get("status").toString()))
{
//
return;
}else
{
// ,
Object data = result.get("data");
//TODO
}
}
2.범용 대상 으로 수신1.공통 결과 집합 패키지
public class Result<T>
{
private static final String SUCCESS = "1";
private static final String FAIL = "0";
private String code;
private String msg;
private T Data;
public Result(String code)
{
this.code = code;
}
public Result(String code, String msg)
{
super();
this.code = code;
this.msg = msg;
}
public Result(String code, String msg, T data)
{
super();
this.code = code;
this.msg = msg;
Data = data;
}
public String getCode()
{
return code;
}
public void setCode(String code)
{
this.code = code;
}
public String getMsg()
{
return msg;
}
public void setMsg(String msg)
{
this.msg = msg;
}
public T getData()
{
return Data;
}
public void setData(T data)
{
Data = data;
}
public static <T> Result<T> ok(T object)
{
return new Result<T>(SUCCESS, "", object);
}
public static <T> Result<T> ok()
{
return new Result<T>(SUCCESS);
}
public static <T> Result<T> nok(String msg)
{
return new Result<T>(FAIL, msg);
}
public static <T> Result<T> nok()
{
return new Result<T>(FAIL);
}
public static <T> Result<T> nok(String code, String msg)
{
return new Result<T>(code, msg);
}
public static <T> Result<T> nok(String code, String msg, T object)
{
return new Result<T>(code, msg, object);
}
public boolean isOk()
{
return Result.equals(getCode());
}
}
2.데이터 T data 를 되 돌려 주 는 방법
public Result<T> result (Object object)
{
if( 1 )
{
return Result.nok("。。。");;
}
if( 2 )
{
return Result.nok("。。。");;
}
return Result.ok(T);
}
3.방법 호출:
public void test
{
Result<T> result = this.result(object);
if(!result.isOk())
{
//
return;
}else
{
// ,
Object data = result.getData();
//TODO
}
}
보충 지식:자바 백 엔 드 패키지 표준 을 전단 으로 되 돌려 줍 니 다.일상적인 개발 에서 우리 백 엔 드 와 프론트 엔 드 는 데이터 형식 을 약속 하 는 것 이 좋 습 니 다.백 엔 드 에 데 이 터 를 밀봉 한 다음 에 프론트 엔 드 로 돌아 가면 프론트 엔 드 는 쉽게 해석 할 수 있 습 니 다.다음은 제 가 자주 사용 하 는 템 플 릿 을 정리 한 것 입 니 다.참고 하 실 수 있 습 니 다.
1.대상 생 성
실제 패키지 아래 에 ReturnParam 대상 을 직접 새로 만 듭 니 다.대상 내용 은 성공 적 인 태그,list 결과 집합,totalk 총수(전단 페이지 에 사용)와 확장 가능 한 다른 대상 을 포함 하고 코드 를 직접 보 세 요.
import java.util.List;
/**
* @Author: John
* @Description:
* @Date: 2019/8/3 10:03
* @param: null
* @return:
*/
public class ReturnParam<T> {
private Boolean success; //
private List<T> list; //
private int total; //
private Object obj; // , Map<String, Object>
public Boolean getSuccess() {
return success;
}
public void setSuccess(Boolean success) {
this.success = success;
}
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public Object getObj() {
return obj;
}
public void setObj(Object obj) {
this.obj = obj;
}
}
2.호출코드 에서 호출 하면 아래 형식 으로 호출 됩 니 다.아래 에 제 작은 예 를 첨부 합 니 다.
package com.tw.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: John
* @Description:
* @Date: 2019/8/2 21:44
* @param: null
* @return:
*/
@RequestMapping("/debug")
@Controller
public class DebugController {
//
private static Logger logger = LoggerFactory.getLogger(DebugController.class);
@GetMapping("/test")
public ReturnParam test() {
logger.info("============ debug test ");
//List
List<String> things = new ArrayList<>();
things.add("apple");
things.add("pear");
things.add("banana");
// 1
Map<String, String> sort = new HashMap<>();
sort.put("sort", "fruit");
// 2
String nama = "John";
int age = 27;
// Object ,
Map<String, Object> objectMap = new HashMap<>();
objectMap.put("sort", sort);
objectMap.put("name", nama);
objectMap.put("age", age);
ReturnParam returnParam = new ReturnParam();
returnParam.setSuccess(true);
returnParam.setList(things);
returnParam.setTotal(things.size());
//obj qita
returnParam.setObj(objectMap);
return returnParam;
}
}
3.돌아 가기전단 으로 돌아 가 는 데이터 형식 을 보면 깨끗 하고 편안 하 며 강박 증 이 있 는 프로그래머 가 볼 수 있 습 니 다.
4.결어:
개발 과정 에서 많은 정 리 를 해 야 합 니 다.관심 이 있 는 것 을 만나면 손 쉽게 기록 할 수 있 습 니 다.과거 에 지나 간 것 보다 아무것도 남기 지 않 는 것 이 좋 습 니 다.여러분 에 게 참고 가 되 고 많은 응원 을 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.