编程问题

1.hessian方法重载导致报错

客户端B 调用 服务端A 的hessian接口,hessian正常启动,浏览器输入URL可以访问,参数传递均正确,但报错如下:

com.caucho.hessian.io.HessianProtocolException: expected map/object at java.lang.String (cbc)

实际上是因为调用的方法在hessian接口中有同名方法重载了,默认情况下它是不支持方法重载的。

解决方法,在客户端注册HessianProxyFactoryBean时,新增属性overloadEnabled,值设为true。


2.路由/banklist/{bankcode} , 参数为空时

@RequestMapping(value = {"/banklist/{bankcode} ", "/banklist/"}, RequestMethod.GET)

public BankInfo getBankList(HttpServletRequest request, @PathVariable(required =false) String bankCode) {

    // ......

    return bankInfo;

}