spring mvc響應時自動將javabean轉化爲json數據格式

spring是自己有這個功能的,maven項目中需要引入如下jar
 

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.8</version>
</dependency>
	/**
	 * @param user
	 * @return 是否登錄成功
	 */
	@RequestMapping(value = "/login")
	@ResponseBody
	RespResult userLogin(User user, HttpSession httpsession) {
		RespResult respResult = new RespResult();
		if(userService.userlogin(user, httpsession)) {
			respResult.setFlag(true);
		}else {
			respResult.setFlag(false);
		}
		return respResult;
	}
package com.wxj233.bean;

import java.util.HashMap;
import java.util.Map;

/**
 * 響應返回參數
 * @version 0.0.1
 * @since 2019/01/03
 * @author wxj233
 *
 */
public class RespResult {

	/**
	 * 標誌true/false
	 */
	private boolean flag;
	
	/**
	 * 響應數據,若無響應數據則爲null
	 */
	private Map<String,Object> data = new HashMap<>();

	public boolean isFlag() {
		return flag;
	}

	public void setFlag(boolean flag) {
		this.flag = flag;
	}

	public Map<String, Object> getData() {
		return data;
	}

	public void setData(Map<String, Object> data) {
		this.data = data;
	}
	
}

響應結果爲:{"flag":false,"data":{}}

作者建議不要使用entity直接響應,而使用RespResult這類javabean,否則容易造成hibernate常見的no session錯誤,即使用dto數據傳輸類來解決這個問題,作者上一篇文章講了如何完成entity到dto的自動轉換,有興趣的同學可以參考。

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