var ids = [1,2,3,4];
$.ajax({
type: "POST",
url: "${base}/xxx/xx?ids=" + ids,
async: false,
dataType: "json",
success: function (data) {
if (data.data) {
alert(data.data); //ids;
}
}
});
//后台controller-springMVC
@RequestMapping("/delete")
@ResponseBody
public ResponseEntity<JsonResult> xx(Long[] ids) {
System.out.pringln(Arrays.toString(ids));//[1,2,3,4,5]
return ControllerHelper.returnJSONResult(true, "成功", ids);
}
package com.gt.util.web;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.ui.Model;
import com.gt.util.web.JsonResult.ErrorCode;
public class ControllerHelper {
/**
* 导航到错误页面
*
* @param model
* @param errorInfo
* @return
*/
public static String navErrorPage(Model model, String errorInfo) {
model.addAttribute("errorinfo", errorInfo);
return "error/error";
}
/**
* 返回标准JSON返回值
*
* @param result
* @param message
* @return
*/
public static ResponseEntity<JsonResult> returnJSONResult(boolean result, String message) {
return returnJSONResult(result, message, null);
}
/**
* 返回标准JSON返回值
*
* @param result
* @param message
* @param data
* @return
*/
public static ResponseEntity<JsonResult> returnJSONResult(boolean result, String message, Object data) {
return returnJSON(new JsonResult(result, message, data));
}
/**
* 返回标准JSON返回值
*
* @param result
* @param errorCode
* @param message
* @param data
* @return
*/
public static ResponseEntity<JsonResult> returnJSONResult(boolean result, ErrorCode errorCode, String message, Object data) {
return returnJSON(new JsonResult(result, errorCode, message, data));
}
/**
* 返回给定数据的JSON格式
*
* @param data
* @return
*/
public static <T> ResponseEntity<T> returnJSON(T data) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.parseMediaType(MediaType.TEXT_PLAIN + "; charset=utf-8"));
return new ResponseEntity<T>(data, headers, HttpStatus.OK);
}
/**
* 返回给定数据的STREAM格式(二进制)
*
* @param data
* @return
*/
public static ResponseEntity<?> returnData(Object data) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
return new ResponseEntity<Object>(data, headers, HttpStatus.OK);
}
public static ResponseEntity<?> returnBadRequestData() {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
return new ResponseEntity<Object>(null, headers, HttpStatus.BAD_REQUEST);
}
public static ResponseEntity<JsonResult> returnJSONResult(boolean result, ErrorCode errorCode, String message) {
return returnJSON(new JsonResult(result, errorCode, message, null));
}
/**
* 返回处理结果,自动封装错误提示
*
* @param b
* @param javaCodeError
* @return
*/
public static ResponseEntity<JsonResult> returnJSONResult(ErrorCode errorCode, boolean result) {
return returnJSON(new JsonResult(result, errorCode, errorCode.getDisplay(), null));
}
}
package com.gt.util.web;
/**
* Json操作反馈对象
*
* @author
*
*/
public class JsonResult {
public JsonResult(boolean result) {
this(result, null);
}
public JsonResult(boolean result, String message) {
this(result, message, null);
}
public JsonResult(boolean result, Object data) {
this(result, null, data);
}
public JsonResult(boolean result, String message, Object data) {
this.result = result;
this.message = message;
this.data = data;
}
public JsonResult(boolean result, ErrorCode errorCode, String message,
Object data) {
this.result = result;
if(errorCode!= null){
this.errorCode = errorCode.getCode();
}
this.message = message;
this.data = data;
}
/**
* 操作结果
*/
private boolean result;
/**
* 错误代码,正确时使用0
*/
private int errorCode;
private String message;
private Object data;
public boolean isResult() {
return result;
}
public void setResult(boolean result) {
this.result = result;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public static JsonResult createFailureResult(String message) {
return new JsonResult(false, message);
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public int getErrorCode() {
return errorCode;
}
public void setErrorCode(ErrorCode errorCode) {
this.errorCode = errorCode.getCode();
}
public enum ErrorCode {
/**OK = 200*/
NONE("", 200),
/**您的登录状态已失效,请重新登录!= 401*/
NOT_LOGIN("您的登录状态已失效,请重新登录!", 401),
/**系统未查询到该数据=4041*/
NOT_FIND_DATA("系统未查询到该数据",4041),
/**对不起,安全验证失败=402*/
NOT_VALID("对不起,安全验证失败", 402),
/**可以自定义错误信息4021(如删除用户,如果该用户是管理员,可以提是管理员不能被删除)***/
CURRENT_NOT_PERMISS_OPERATE("当前状态下不容许该操作", 4021),
/**数据格式不符合要求,请重新提交! 400*/
DATA_VALID_FAILURE("数据格式不符合要求,请重新提交!", 400),
/**网络出错,请重新操作!=505*/
JAVA_CODE_ERROR("网络出错,请重新操作!", 505),
/**新增功能请下载最新版本*/
BUSSINESS_NOT_SUPPORTED("当前客户端版本过低,不支持该功能,请下载最新版本", 600),
/**对不起,您没有执行该操作的权限=403*/
PERMISS_DENIED("对不起,您没有执行该操作的权限", 403),
/**对不起,您没有操作该数据的权限!=4032*/
PERMISS_DATA_DENIED("对不起,您没有操作该数据的权限!", 4032),
/**您还没有注册公司,无法执行该操作=4031*/
NOT_COMPANY("您还没有注册公司,无法执行该操作", 4031),
/**您当前无法参与报价=4032*/
NOT_ALLOW_QUOTATION("您当前无法参与报价", 4032),
COMPANY_INFO_UN_PERFECT("<b><u><font color='red'>企业注册信息不完整,请尽快补全:</font></u></b><br>1.请到 企业申请 中进行完善;<br>2.或者联系“企业管理员”进行完善。<br/>3.信息不完整不影响正常创建操作!", 4033);
private String display;
private int code;
// 构造方法
private ErrorCode(String display, int code) {
this.display = display;
this.code = code;
}
public int getCode() {
return this.code;
}
public String getValue() {
return name();
}
public static ErrorCode fromCode(int code) {
ErrorCode[] states = ErrorCode.values();
for (ErrorCode state : states) {
if (state.getCode() == code) {
return state;
}
}
return null;
}
// 覆盖方法
@Override
public String toString() {
return this.display;
}
public String getDisplay() {
return display;
}
}
}