1. 程式人生 > >java組裝json物件

java組裝json物件

組裝JSON物件

public class AssembleJSON {
	
	private Integer retStatus;
	private String message;
	private Object data;
	
	/**
	 * 設定返回狀態
	 * @param _retStatus 狀態號
	 */
	public void setRetStatus(Integer _retStatus){
		this.retStatus = _retStatus;
	}
	/**
	 * 獲得返回狀態號
	 * @return 狀態號
	 */
	public Integer getRetStatus(){
		return this.retStatus;
	}
	/**
	 * 設定返回狀態資訊
	 * @param _message 資訊
	 */
	public void setMessage(String _message){
		this.message = _message;
	}
	/**
	 * 返回狀態資訊
	 * @return 資訊
	 */
	public String getMessage(){
		return this.message;
	}
	/**
	 * 設定返回資料
	 * @param _data
	 */
	public void setData(Object _data){
		this.data = _data;
	}
	/**
	 * 獲得返回資料
	 * @return 資料
	 */
	public Object getData(){
		return this.data;
	}
	
	private AssembleJSON(Integer _retStatus, String _message, Object _data){
		this.retStatus = _retStatus;
		this.message = _message;
		this.data = _data;
	}
	
	/**
	 * 返回成功(預設)
	 */
	public static AssembleJSON SUCCESS = new AssembleJSON(1, "請求成功", null);
	
	/**
	 * 返回成功JSON
	 * @param _data 資料
	 * @return JSON物件
	 */
	public static AssembleJSON SUCCESS(Object _data){
		return new AssembleJSON(1, "請求成功", _data);
	}
	
	/**
	 * 返回成功JSON
	 * @param _data 資料
	 * @return JSON物件
	 */
	public static AssembleJSON SUCCESS(String msg, Object _data){
		return new AssembleJSON(1, msg, _data);
	}
	
	/**
	 * 返回失敗JSON
	 * @param _message 失敗資訊
	 * @return JSON物件
	 */
	public static AssembleJSON FAILURE(String _message){
		return new AssembleJSON(0, _message, null);
	}
}

具體使用場景

	public AssembleJSON upload(HttpServletRequest request,HttpServletResponse response) {
		return uploadCore(request,response,true);
	}
	private AssembleJSON uploadCore(HttpServletRequest request,HttpServletResponse response,Boolean isAppend){
		response.setCharacterEncoding("UTF-8");
		if (!(request instanceof MultipartHttpServletRequest)) {
			return AssembleJSON.FAILURE("非法請求");
		}
		MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
		MultiValueMap<String, MultipartFile> fileMap = multipartRequest.getMultiFileMap();
		List<MultipartFile> files = new ArrayList<MultipartFile>();
		for (String key : fileMap.keySet()) {
			files.addAll(fileMap.get(key));
		}
		if (files.isEmpty()) {
			return AssembleJSON.FAILURE("請求中沒沒有包含檔案");
		}
		try{
			uploadDir += "/upload/";
			if(ObjectUtil.isNotEmpty(companyID)){
				uploadDir += companyID + "/";
			}
			uploadDir += "";
			FileUtil.createUploadDir(uploadDir);
			File file = null;
			String fileName = "";
			for(MultipartFile multipartFile : files) {
				attachmentName = multipartFile.getOriginalFilename();
				fileName = FileUtil.getNewFileName(attachmentName);
				String rootFile = uploadDir + File.separatorChar + fileName;
				filePath = "/upload/" + (ObjectUtil.isNotEmpty(companyID)?companyID+ "/":"") 
						+ File.separatorChar + fileName;
				file = new File(rootFile);
				multipartFile.transferTo(file);
				this.saveThumbnail(fileName);
				this.save(isAppend);
				
			}
			return AssembleJSON.SUCCESS;
		}catch(Exception e){
			return AssembleJSON.FAILURE(e.getMessage());
		}
	}