Feign 调用其他微服务接口时,url地址匹配错误

Xylona ·
更新时间:2024-09-20
· 623 次阅读

feign调用方法:

@RequestMapping(value = "/resources/ocircuit/textInfo", method = {RequestMethod.GET}, produces = "text/plain;charset=utf-8") String getOcircuitTextRouteInfo(@PathVariable(name = "resID") String resID);

期望调用方法

@ApiOperation(value = "根据光路id查询光路的路由描述信息(局缆名称拼接)") @GetMapping(value = "/resources/ocircuit/textInfo", produces = "text/plain;charset=utf-8") public String getOcircuitTextRouteInfo1(@PathVariable(name = "resID") String resID) { logger.info(" get ------------------------"); if (StringUtils.isBlank(resID)) { throw new ValidateException("光路id不能为空!"); } String textInfo = opticalCircuitFormat.getOcircuitTextRouteInfo(resID); return textInfo; }

实际匹配方法:

@ApiOperation("动作接口") @RequestMapping(value = "/resources/{entity}/{resID}", method = {RequestMethod.POST}, produces = {MediaType.APPLICATION_JSON_VALUE}) public ResponseEntity correctResource( @RequestParam(value = "act", required = false, defaultValue = "") final String act, @RequestParam(name = "routingsegment", required = false) final String routingSegment, @RequestParam(name = "layingsegment", required = false) final String layingSegment, @RequestBody(required = false) final String obj) { if (StringUtils.isEmpty(resID) && StringUtils.isNumber(resID)) { return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("the argument is incorrect"); }

}

--------------------------------------------------------------------------------------------------------

最后改为这种方式,才实现相应的结果;

feign调用方法:

@RequestMapping(value = "/resources/ocircuit/ocircuitRoute/one/two/textInfo/{resID}", method = {RequestMethod.GET}, produces = "text/plain;charset=utf-8") String getOcircuitTextRouteInfo(@PathVariable(name = "resID") String resID);

目标方法:

@ApiOperation(value = "根据光路id查询光路的路由描述信息(局缆名称拼接)") @GetMapping(value = "/ocircuit/ocircuitRoute/one/two/textInfo/{resID}", produces = "text/plain;charset=utf-8") public String getOcircuitTextRouteInfo1(@PathVariable(name = "resID") String resID) { logger.info(" get ------------------------"); if (StringUtils.isBlank(resID)) { throw new ValidateException("光路id不能为空!"); } String textInfo = opticalCircuitFormat.getOcircuitTextRouteInfo(resID); return textInfo; }

现在还没有找到具体原因,还在迷茫中!


作者:勤而思



微服务 调用 接口 url

需要 登录 后方可回复, 如果你还没有账号请 注册新账号