我有一個序列化spring管理bean的問題。spring序列化自動編寫的字段
我想返回自動連接bean作爲一個restcontroller的響應。我讀過幾個回覆,其中一個建議使用simpleFilter。(Use SimpleFilter to exclude non required fields.)。不過,我不認爲這個建議是很實際的,而且我相信有更簡單更具體的解決問題的方法。
我有一個春天的託管bean稱爲JobStatus。
@Component
@Scope(value="Prototype")
public class JobStatus{
private Integer job_type;
public Integer getJob_type() {
return job_type;
}
public void setJob_type(Integer job_type) {
this.job_type = job_type;
}
public JobStatus(){
}
}
我有一個控制器如下:
@RestController
public class JobController {
@Autowired
JobStatus js;
@RequestMapping(value = "/get_job_status", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody
JobStatus get_job_status(@RequestBody JobStatusRequest req) {
js.setJobType(req.getJobType);
ObjectMapper mapper = new ObjectMapper();
try {
System.out.println(mapper.writeValueAsString(js));
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return js;
}
}
它拋出以下異常:
com.fasterxml.jackson.databind.JsonMappingException:沒有串行發現類org.springframework。 cglib.proxy.NoOp $ 1和沒有屬性發現(以避免異常,禁用SerializationFeature.FAIL_ON_EMPTY_BEANS))(通過引用鏈來創建BeanSerializer:ATM.Job.JobStatus $$ EnhancerBySpringCGLIB $$ be675215 [ 「回調」])
我已經嘗試將JobStatus的範圍更改爲「單例」和「會話」和「請求」,它沒有任何區別。 我們應該如何序列化「代理」?
,可以用[塞爾瑪](http://www.selma-java.org/)或[推土機](http://dozer.sourceforge.net/documentation/usage.html)來自動化之間的映射數據和查看pojo – Quentin
這不回答我的問題。您只需創建另一個不受Spring管理的類即可繞過它。我的問題是關於自動佈線bean的序列化。謝謝。 – user2076066