Spring Data Rest、SpringFoxおよびJpaRepositoryカスタムファインダー

トーマス・エスコラン

注意:Spring Boot 1.4.2 + SpringFox2.6.0を使用します

こんにちは。@ RepositoryRestResourceを介したAPIドキュメントのSwagger2フォームで問題が発生しています。以下のコードは正常に機能します(RESTアクセスOK):

@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends JpaRepository<Person, Long> {
    Person findByLastName(@Param("name") String name);
}

そして、HATEOASリンクも正しいです:URL / api / people / searchを呼び出すと、これで終わります(パラメーター "name"に注意してください):

{
  "_links": {
    "findByLastName": {
      "href": "http://localhost:8080/api/people/search/findByLastName{?name}",
      "templated": true
    },
    "self": {
      "href": "http://localhost:8080/api/people/search"
    }
  }
}

REST APIは問題ありません:URL / api / people / search / findByLastName?name = foobarは、ブラウザーで実行するとデータを返します

しかし闊歩でGETのパラメータの型は、代わりに「クエリ」の「体」として解釈され、フォーム送信(カール... -d「foobarに」...)は、リクエストボディとして「名前」を提出しようとすると、404で失敗します。そこで、次のようにSwaggerを明示的に設定しようとしました。

@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends JpaRepository<Person, Long> {
    @ApiOperation("Find somebody by it's last name")
    @ApiImplicitParams({
        @ApiImplicitParam(name = "name", paramType = "query")
    })
    Person findByLastName(@Param("name") @ApiParam(name = "name") String name);
}

この例では、「name」がパラメータ名としてフォームに適切に保持されているにもかかわらず、成功しませんでした:-(

GETクエリの本体パラメータタイプ

そのSwaggerフォームを機能させるために何ができるか知っている人はいますか?あなたの助けのためのThx

トーマス・エスコラン

これはそれです:@ParamはSpring Data RESTを構成し、@ RequestParamはSwaggerに適合します

@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends JpaRepository<Person, Long> {

    // @Param Spring Data REST : Use @Param or compile with -parameters on JDK 8
    // @RequestParam Swagger : paramType=query cf. $Api*Param

    Person findByLastName(@Param("name") @RequestParam("name") String name);

}

私は幸せです!

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Spring Data Rest / SpringHateoasカスタムコントローラー-PersistentEntityResourceAssembler

分類Dev

Spring Data Rest / SpringHateoasカスタムコントローラー-PersistentEntityResourceAssembler

分類Dev

Spring Data RestでのカスタムPOST PUTおよびPATCHリクエストの関連付けエントリの処理

分類Dev

SpringデータベースタイプNONEおよび外部カスタムプロパティファイル

分類Dev

Spring Data Rest and Hateoas

分類Dev

Spring Data Rest

分類Dev

Spring Data JPA-インターフェイスベースの投影でのカスタムタイプ変換

分類Dev

Spring Data、REST、および ManyToMany 関係

分類Dev

Spring Data Rest @ RepositoryRestControllerおよび@RequestMapping

分類Dev

Spring Data JPAおよびHibernate

分類Dev

Spring Data JPAおよびNamedEntityGraphs

分類Dev

Spring Data JpaSaveおよびSaveAndFlush

分類Dev

Spring、SLF4J、およびLogback-カスタムDBアペンダー

分類Dev

Springデータレストにカスタムインターセプターを追加する方法(spring-data-rest-webmvc 2.3.0)

分類Dev

Springおよびカスタムコンテキストファイルを使用してApacheCXFでWS-Securityポリシーノードが生成されない

分類Dev

Spring HATEOASとSpring Data Rest

分類Dev

Spring Data JPAのCrudRepositoryインターフェースとJpaRepositoryインターフェースの違いは何ですか?

分類Dev

Spring Data JPACRUDリポジトリインターフェースJPQL @ Queryによるカスタムクエリの生成に失敗する

分類Dev

Spring-Data-Rest Validator

分類Dev

Spring Data Rest projection sorting

分類Dev

Spring Data Rest projection sorting

分類Dev

Spring Data Rest projection sorting

分類Dev

@ AutowireMockMvc-Spring Data Rest

分類Dev

spring rest data plural url

分類Dev

Spring Data Rest-カスタムJsonスキーマ/アルプス?

分類Dev

SpringおよびJavaインターフェース

分類Dev

Spring Data REST:カスタムメソッドの検証

分類Dev

Spring Data REST:カスタムメソッドの検証

分類Dev

カスタムコントローラーでSpring Data REST URIを受け入れる

Related 関連記事

  1. 1

    Spring Data Rest / SpringHateoasカスタムコントローラー-PersistentEntityResourceAssembler

  2. 2

    Spring Data Rest / SpringHateoasカスタムコントローラー-PersistentEntityResourceAssembler

  3. 3

    Spring Data RestでのカスタムPOST PUTおよびPATCHリクエストの関連付けエントリの処理

  4. 4

    SpringデータベースタイプNONEおよび外部カスタムプロパティファイル

  5. 5

    Spring Data Rest and Hateoas

  6. 6

    Spring Data Rest

  7. 7

    Spring Data JPA-インターフェイスベースの投影でのカスタムタイプ変換

  8. 8

    Spring Data、REST、および ManyToMany 関係

  9. 9

    Spring Data Rest @ RepositoryRestControllerおよび@RequestMapping

  10. 10

    Spring Data JPAおよびHibernate

  11. 11

    Spring Data JPAおよびNamedEntityGraphs

  12. 12

    Spring Data JpaSaveおよびSaveAndFlush

  13. 13

    Spring、SLF4J、およびLogback-カスタムDBアペンダー

  14. 14

    Springデータレストにカスタムインターセプターを追加する方法(spring-data-rest-webmvc 2.3.0)

  15. 15

    Springおよびカスタムコンテキストファイルを使用してApacheCXFでWS-Securityポリシーノードが生成されない

  16. 16

    Spring HATEOASとSpring Data Rest

  17. 17

    Spring Data JPAのCrudRepositoryインターフェースとJpaRepositoryインターフェースの違いは何ですか?

  18. 18

    Spring Data JPACRUDリポジトリインターフェースJPQL @ Queryによるカスタムクエリの生成に失敗する

  19. 19

    Spring-Data-Rest Validator

  20. 20

    Spring Data Rest projection sorting

  21. 21

    Spring Data Rest projection sorting

  22. 22

    Spring Data Rest projection sorting

  23. 23

    @ AutowireMockMvc-Spring Data Rest

  24. 24

    spring rest data plural url

  25. 25

    Spring Data Rest-カスタムJsonスキーマ/アルプス?

  26. 26

    SpringおよびJavaインターフェース

  27. 27

    Spring Data REST:カスタムメソッドの検証

  28. 28

    Spring Data REST:カスタムメソッドの検証

  29. 29

    カスタムコントローラーでSpring Data REST URIを受け入れる

ホットタグ

アーカイブ