0

私は1つのプロジェクトでswaggerとFeignを使用しており、スワッガーは@RequestMappingの注釈付きのメソッドを使用してドキュメントを作成します。しかし、これは、@FeightClient@RequestMappingの両方で注釈が付けられたクラスとメソッドに対してそうするのは変です。どのようにこれらのapisを無視して無視するのですか?私が学び、@FeightClientによって注釈付けされたこれらのapisを無視するためにいくつかの他のクラスを追加できるように、掃除のどのクラス がスキャンジョブを行うのですか?@FeignClient apisをswaggerで処理することを無視するにはどうすればよいですか?

@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); 
} 

答えて

0

@FeignClientアノテーション付きクラスで@RequestMappingを削除し、属性を@FeignClientに追加しました。今回は、問題は完全に解決されました。私は@RequestMapping@FeignClient注釈付きクラスに許可されていないと思います。

@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); 
} 
0

selectでは、述語を指定できます。 withClassAnnotationメソッドを使用して、@FeignClientを注釈として指定できます。あなたのケースでは無視するには、Predicates.notと組み合わせる必要があります。

+0

はい、次のようにしてみました: 'select()。apis(notClassAnnotation(ApiIgnore.class)))。build()'。しかし、春はまだ@RequestMappingクラスを拾い、コントローラをマッピングする方法をマッピングしました。 – leo

関連する問題