如何忽略 @FeignClient api 被 swagger 处理?

How to ignore @FeignClient apis from being processed by swagger?

我在一个项目中使用 swagger 和 Feign,而 swagger 将采用 @RequestMapping 注释方法并创建文档。但是对于由 @FeightClient@RequestMapping 注释的 classes 和方法这样做很奇怪。那么如何大摇大摆地忽略这些api呢?哪个class招摇 做扫描工作,这样我就可以学习并添加一些其他 class 来忽略这些由 @FeightClient?

注释的 api
@FeignClient(name = TodoItemRpcRepository.SERVICE_NAME)
@RequestMapping("/api/todos")
public interface TodoItemRpcRepository {

@RequestMapping(value = "/{id}", method = RequestMethod.GET)
  TodoItem findById(@RequestHeader("X-Auth-Token") final String token,  //
      @PathVariable("id") final Long id);
}

在您的摘要中 select 您可以指定谓词。您可以使用 withClassAnnotation 方法将 @FeignClient 指定为注释。你需要将它与 Predicates.not 结合起来以忽略你的情况。

我删除了 @FeignClient 注释 class 上的 @RequestMapping 并在 @FeignClient 中添加了一个 path 属性。这一次,问题得到了完美的解决。我猜 @RequestMapping 不允许 @FeignClient 注释 class.

@FeignClient(name = TodoItemRpcRepository.SERVICE_NAME, name="/api/todos")
public interface TodoItemRpcRepository {

@RequestMapping(value = "/{id}", method = RequestMethod.GET)
  TodoItem findById(@RequestHeader("X-Auth-Token") final String token,  //
      @PathVariable("id") final Long id);
}