[spring] API 공통 response 개발 (간단)

winkite·2024년 5월 29일

정리

목록 보기
4/7

전 회사에서 기본 셋팅이 되어있는 프로젝트에 작업하는 것이 익숙해져서 혼자 개발하려고하니 눈 앞이 캄캄하더라..

그래서 나만의 basic code를 만들어보는 것을 목표로 하나씩 개발해보자.


우선 api 공통 response부터 개발해보자.
api 통신할 때 응답이 다음과 같은 형태로 올 수 있도록 한다.

{
	"code" : 200
  	"message" : "success!"
  	"data" : {
      "id" : "test",
      "name" : "test!"
    }
}

우선 위의 형식과 비슷하게 response vo클래스를 만들어준다.

@Getter
public enum ResponseCode {
	OK("200", "OK"),
	FAIL("400", "FAIL");

	private final String code;
	private final String message;
	
	ResponseCode(String code, String message) {
		// TODO Auto-generated constructor stub
		this.code = code;
		this.message = message;
	}
}

그 다음에 map형식으로 반환하는 응답 클래스 객체를 생성한다.
(map으로 return하는 이유는 내가 데이터를 주고받을 때 항상 map형태로 주고받기 때문이다.)

public class ResponseUtil {
	public static Map<String, Object> success(Map<String, Object> data) {
		Map<String, Object> result = new HashMap<String, Object>();
		result.put("code", ResponseCode.OK.getCode());
		result.put("message", ResponseCode.OK.getMessage());
		result.put("data", data);
		
		return result;
	}
}

그리고 service 단에서

return ResponseUtil.success(param);

와 같이 return을 시키고 통신시키면

짠 내가 원하는 형태로 결과가 나온다.

흠.. 일단 간단하게 했는데 나중에 문제가 생기면 다시 수정하도록 하자

profile
열심히 뛰는 개발자🏃

0개의 댓글