2017-07-17 9 views
1
私はこのような要求に春ブーツには本当に簡単なRESTサービスを構築しています

スワッガーは既存のエンドポイントを示していません。どのようにそれらを取り除く?

  • GET/API /リソース
  • POST/API /リソース
  • GET/API /リソース/ ID
  • DELETE/API /リソース/ ID

しかし、私はに行くときはlocalhost:8080 /威張っ-ui.html、私は存在しないのは本当に長いリストを取得し、冗長エン

  • DELETE/API /リソース
  • PATCH/API /リソース
  • HEAD/API /リソース
  • OPTIONS/API /リソース
  • PATCH/API /リソース/ ID
  • :などdpoints
  • HEAD/API /リソース/ ID
  • OPTIONS/API /リソース/ ID

だから、どのようにそれらを取り除くために?私は答えを探しましたが、私は自分の問題ではない特定のパスに応答リストを制限する方法を見つけました。

@ApiOperationアノテーション(value = "xyz"、hidden = true)を介してそれらを非表示にすることはできません。なぜなら、それらのリクエストはコントローラのコードに存在しないからです。

ここに私のSwaggerConfig.javaクラスです:

@Configuration 
@EnableSwagger2 
class SwaggerConfig { 

    @Bean 
    public Docket api() { 
     return new Docket(DocumentationType.SWAGGER_2) 
       .apiInfo(apiInfo()) 
       .select() 
       .apis(RequestHandlerSelectors.any()) 
       .paths(regex("/api.*")) 
       .build(); 
    } 
} 

はところで、どうやら私は/ V2/API-ドキュメントに404エラーを取得しますが、闊歩を表示するので、私は、それは私の問題だとは思いませんエンドポイントの正しいリストだけでなく、存在しないものもたくさんあります。私はこの404エラーのための解決策を見つけたわけではありませんが、気にする必要があるかどうかはわかりません。

答えて

1

が判明し、私のコントローラのコードが問題だった:

@RequestMappingで

メソッドは、RESTサービスがそれらを指定せずに正常に動作していても、闊歩内のエンドポイントの正確なリストを取得するにはどこにでも指定する必要が

//@RequestMapping("/resource/{id}") 
@RequestMapping(value = "/resource/{id}", method = RequestMethod.GET) 
時々。

関連する問題