小编sai*_*sai的帖子

如何使用restcontroller在spring restful webservice中记录传入的json请求?

我想记录所有传入的请求,这些请求将是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.

java rest spring web-services spring-restcontroller

3
推荐指数
1
解决办法
4981
查看次数

从 drools 会话中删除对象并在 spring 中重用相同的会话

我在服务类中使用自动连接的 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)

spring drools

2
推荐指数
1
解决办法
5086
查看次数