我想记录所有传入的请求,这些请求将是json格式.我使用spring @RestController和@RequestBody注释将传入的json内容绑定到java对象.但是我想将这些请求记录到logger文件.我搜索过用于objectmapper和jacksonbinding.
@RestController
public class restClassName{
@RequestMapping(value={"/uri"})
public ObjectResponse functionRestName(@RequestBody ObjectRequest or){
String jsonInString = mapper.writeValueAsString(staff);//Redundant stuff as the request json is already read by MappingJackson2HttpMessageConverter
logger.info("request::"+jsonInString)
return instance;
}
}
Run Code Online (Sandbox Code Playgroud)
但这似乎是一种非常重要的做法.由于MappingJackson2HttpMessageConverter已经读取了httprequest以将json请求转换为java对象.我只需要在MappingJackson2HttpMessageConverter将请求json转换为java对象之前记录json.
我在服务类中使用自动连接的 StatefulKnowledgeSession。
@Service("vbOrderService")
public class VbOrderService {
@Autowired
private VbOrderDao vbOrderDao ;
@Autowired
StatefulKnowledgeSession vbDiscSession;
public CpSellerDetails getStep1Data(Integer grpSellerId,Integer catalogueId) throws DataNotFoundException{
return vbOrderDao.getStep1Data(grpSellerId,null,catalogueId);
}
/*public CpSellerDetails getStep1Data(Integer cp_id,Integer orderno) throws DataNotFoundException{
return vbOrderDao.getStep1Data(cp_id,orderno);
}*/
public void getStep2Data(Integer cp_id,VbCpInfoBean info) throws DataNotFoundException{
vbOrderDao.getStep2Data(cp_id,info);
}
public Integer updateStep2Data(VbCpInfoBean info,Integer cp_id) throws UpdateFailedException{
return vbOrderDao.updateStep2Data(info,cp_id);
}
public void getOrderStep3(CpSellerDetails sellerDetails) throws DataNotFoundException {
vbOrderDao.getOrderStep3(sellerDetails);
fireRules(sellerDetails);
}
public void orderStep4(LoginBean user,CpSellerDetails sellerDetails) throws UpdateFailedException {
vbOrderDao.orderStep4(user,sellerDetails);
// fireRules(sellerDetails);
}
public CpSellerDetails getOrderDetailsForPdfGeneration(String orderno, …Run Code Online (Sandbox Code Playgroud)