Http ResponseEntity 返回包装

复制代码
public class ResponseEntityFactory {

    private enum ResponseStatus {
        SUCCESS, FAIL, ERROR
    }

    public static ResponseEntity success (String message, Object data) {
        return getResponseEntity(HttpStatus.OK, ResponseStatus.SUCCESS, message, data, null);
    }

    /* ADDITIONAL SUCCESS, FAIL, ERROR FACTORY METHODS */

    private static ResponseEntity getResponseEntity(HttpStatus httpStatus, ResponseStatus responseStatus, String message, Object data, HttpHeaders headers) {

        if (httpStatus == null) throw new IllegalArgumentException("HttpStatus cannot be null");
        if (responseStatus == null) throw new IllegalArgumentException("ResponseStatus cannot be null");

        JsonResponse jsonResponse = new JsonResponse(responseStatus, message, data);
        return new ResponseEntity(jsonResponse, headers, httpStatus);
    }

    private static class JsonResponse {

        private ResponseStatus status;
        private String message;
        private Object data;

        public JsonResponse(ResponseStatus status, String message, Object data) {
            if (status == null) throw new IllegalArgumentException("ResponseStatus cannot be null");
            this.status = status;
            this.message = message;
            this.data = data;
        }

        public ResponseStatus getStatus() {
            return status;
        }

        public void setStatus(ResponseStatus status) {
            this.status = status;
        }

        public String getMessage() {
            return message;
        }

        public void setMessage(String message) {
            this.message = message;
        }

        public Object getData() {
            return data;
        }

        public void setData(Object data) {
            this.data = data;
        }

    }

}
复制代码

 

示例控制器。java

@Controller
@RequestMapping(value = "/example")
public class ExampleController {

    @Autowire
    private UserService userService;        

    @RequestMapping(method = RequestMethod.GET)
    public ResponseEntity getUsers() {
        List<User> users = userService.getAllUsers();
        return AjaxResponseFactory.success("Found users", userList);
    }

    @RequestMapping(value = "/active/{id}" method = RequestMethod.GET)
    public ResponseEntity isUserActive(long userId) {
        boolean = userService.isUserActive(userId);
        return AjaxResponseFactory.success(null, boolean);
    }
}
posted @   曹丽是我女朋友。  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示