【Java】專門用來處理Controller層返回Json數據的類

代碼

package com.controller.dto;

import com.fasterxml.jackson.annotation.JsonInclude;

import java.io.Serializable;

@JsonInclude
public class BaseRsp implements Serializable {

	private static final long serialVersionUID = -4185151304730685014L;

	private int status;
    private String message;
    private Object data;

    public BaseRsp(){}
    public BaseRsp(int status, String message) {
        this(status, message, null);
    }

    public BaseRsp(int status, Object data) {
        this(status, "", data);
    }

    public BaseRsp(Object data) {
        this(ResultEnum.SUCCESS.getState(), ResultEnum.SUCCESS.getMsg(), data);
    }

    public BaseRsp(ResultEnum resultEnum) {
        this(resultEnum.getState(), resultEnum.getMsg(), null);
    }

    public BaseRsp(ResultEnum resultEnum, Object data) {
        this(resultEnum.getState(), resultEnum.getMsg(), data);
    }

    public BaseRsp(int status, String message, Object data) {
        this.status = status;
        this.message = message;
        this.data = data;
    }

    public Object getData() {
        return data;
    }

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

    public int getStatus() {
        return status;
    }

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

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

    public String getMessage() {
        return message;
    }

    @Override
	public String toString() {
		return "BaseRsp [status=" + status + ", data=" + data + ", message=" + message + "]";
	}

}

@JsonInclude
可以返回制定格式的json數據 : 如果屬性返回值爲空,則不返回任何內容

實例運用

package com.controller.rest.admin;

import com.google.common.collect.ImmutableMap;
import com.component.annotation.RequireWhiteList;
import com.controller.dto.BaseRsp;
import com.controller.dto.ResultEnum;
import com.pubdef.dto.userProfile.UserContentAdminSearchConditionDTO;
import com.pubdef.dto.userProfile.UserContentRecordAdminDTO;
import com.service.userContent.UserContentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @author yw
 */
@RestController
@RequestMapping("/usercontent")
public class UserContentAdminController {

    @Autowired
    private UserContentService userContentService;

    @GetMapping("")
    public BaseRsp getUserContentAdmin(UserContentAdminSearchConditionDTO dto){
        ImmutableMap immutableMap = ImmutableMap.of(
        "user_content_list",userContentService.listUserContentRecordByConditions(dto), 
        "count", userContentService.countUserContentRecord(dto));
        return new BaseRsp(ResultEnum.SUCCESS,immutableMap);
    }

    @PutMapping("")
    public BaseRsp updateUserContentAdmin(@RequestBody UserContentRecordAdminDTO dto){
        userContentService.updateUserContentAdmin(dto);
        return new BaseRsp(ResultEnum.SUCCESS);
    }
}

數據返回結果

getUserContentAdmin
請求路徑:

localhost:8080/usercontent?auto_audit_state=0

結果:

{
	"data": {
		"user_content_list": [
			{
				"auto_audit_state": 0,
				"content": "BxfKMnWmfX1arE",
				"content_id": "111111111",
				"content_type": 3,
				"create_time": "2019-09-24 20:11:12",
				"forbidden_state": 2,
				"manual_audit_state": 0,
				"operate_time": "2019-09-24 20:11:12",
				"operator": "system",
				"uid": 11111
			},
			{
				"auto_audit_state": 0,
				"content": "411111911829_avatar.jpg",
				"content_id": "4113111975111342",
				"content_type": 3,
				"create_time": "2019-09-23 18:01:19",
				"forbidden_state": 2,
				"manual_audit_state": 0,
				"operate_time": "2019-09-23 18:01:19",
				"operator": "system",
				"uid": 11112
			}
		],
		"count": 2
	},
	"message": "OK",
	"status": 200
}

updateUserContentAdmin
請求路徑:

localhost:8080/usercontent

結果:

{
	"message":"OK",
	"status":200
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章