응답 공통 포맷은 협업에 있어 일관성 있는 형식으로 값을 제공함으로 효율적인 작업을 위해 설정하곤 한다.
이러한 포맷은 어디까지나 편의를 위해 설정하는 만큼 서비스에 따라 설정 값은 다르지만,
- 응답 상태 값 ( error code , message 등의 상태를 확인할 수 있는 값 )
- 반환 데이터 값
위 두 가지는 많은 곳에서 활용하는 것같다.
아래 코드는 기본적인 코드이다.
@Getter
public class ApiResult<T> {
private final String code;
private final String message;
private final T data;
public ApiResult(String code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
public static <T> ApiResult<T> success(T data) {
return new ApiResult<T>(HttpStatus.OK.name(), HttpStatus.OK.getReasonPhrase(), data);
}
public static <T> ApiResult<T> fail(String code, String message, T data) {
return new ApiResult<T>(code, message, data);
}
}
이렇게 작성된 포맷은 아래와 같이 사용할 수 있다.
@RestController
@RequestMapping("/api/test")
public class TestController {
@GetMapping("/{status}")
@Schema(name = "테스트")
public ApiResult<String> test(@PathVariable String status) {
if (status.equals("success")) return ApiResult.success("success");
return ApiResult.fail("코드","메세지","데이터");
}
}
'Springboot' 카테고리의 다른 글
스프링부트 Repository TestCode ( 테스트 코드 / mybatis ) (0) | 2024.09.25 |
---|---|
스프링부트 Repository 커스텀 (분리) (0) | 2024.09.23 |
Springboot 실행과 동시에 종료 오류 해결 (0) | 2024.09.04 |
개발 환경 나누는 방법 ( application , local, dev ) (0) | 2024.08.10 |
API 문서화 - swagger ( springboot ) (0) | 2024.07.18 |