euraka

148 阅读1分钟

1.mybatis PageHelper失效问题

情况1:两次查询,分业务失效

解决:

  PageHelper.startPage(Optional.ofNullable(pageNo).orElse(1), Optional.ofNullable(pageSize).orElse(10));

PageHelper.startPage()放在第一次查询后

PageInfo pageInfo = new PageInfo(userVoList);

2.总结euraka 和nacos微服务之间调用

Euraka

(1) restTemplate

application.yml:

server:
  vip-server: http://api-vip/

serviceImpl:

 @Value("${server.vip-server}")
    private String vipHost;

  @Override
    public UserPO getUserInfoByUserCodeByrestTemplate(String userCode) {
        String url = vipHost + "/api/user/getUserInfoByUserCode?userCode=" + userCode;
        String result = restTemplate.getForObject(url, String.class);
        ResponseEntity<UserPO> responseEntity =
            JSON.parseObject(result, new TypeReference<ResponseEntity<UserPO>>() {});
        if (null != responseEntity && null != responseEntity.getData()) {
            UserPO userInfo = responseEntity.getData();
            return userInfo;
        }
        return null;
    }

(2)FeignClient

value = '微服务名'

url='路径'

@FeignClient(value = "api-vip", fallback = UserFeignFallback.class)
public interface IUserFeign {
    @ApiOperation(value = "查询用户详情")
    @RequestMapping(path = "/api/user/getUserInfoByUserCode", method = RequestMethod.GET, produces = "application/json")
    ResponseEntity<UserPO> getUserInfoByUserCode(@RequestParam(value = "userCode") String userCode);
}

@Component
class UserFeignFallback implements IUserFeign {

    @Override
    public ResponseEntity<UserPO> getUserInfoByUserCode(String userCode) {
        throw new DwsException(ResponseCode.SYSTEM_INNER_ERROR.code(), "getUserDetail failed.");
    }
}