Controller報錯:Could not find acceptable representation

controller的返回數據需要爲json時,沒有配置正確。
解決:
controller返回json格式給ajax請求的兩種方法

  1. JSON.toJsonString();
@RequestMapping(value = "allBookName", produces = "text/html;charset=UTF-8")
	public @ResponseBody String allBookName() {
		List<String> allBookName = bs.getBookName();
		List<QueryBoxData> allBookNameData = new ArrayList<QueryBoxData>();
		for (int i = 0; i < allBookName.size(); i++) {
			allBookNameData.add(new QueryBoxData(i, allBookName.get(i), false));
		}
		return JSON.toJSONString(allBookNameData);
	}

返回類型爲String。
produces = “text/html;charset=UTF-8”
用的json工具是fastjson,pom.xml文件導入依賴:

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>fastjson</artifactId>
	<version>1.2.53</version>
</dependency>
  1. 返回對象或集合
@ResponseBody
	@SystemControllerLog(type=2,description="添加一個員工")
	@RequestMapping(value = "add", produces = "application/json;charset=utf-8")
	public JsonData addEmp(@RequestParam("empName") String empName,
						   @RequestParam("empDept") String empDept,
						   @RequestParam("empHireDate") String empHireDate,
						   @RequestParam("empStatus") String empStatus,
						   @RequestParam("jobName") String jobName,
						   @RequestParam("bankAccount") String bankAccount) {
		JsonData data = new JsonData("addEmp",
				es.addEmp(empName, empDept, empHireDate, empStatus, jobName, bankAccount), "添加員工", true);
		return data;
	}

produces=“application/json;charset=utf-8”
這裏用的json工具是jackson。pom.xml引入依賴:

<dependency>
	<groupId>com.fasterxml.jackson.core</groupId>
	<artifactId>jackson-databind</artifactId>
	<version>2.9.1</version>
</dependency>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章