4

Spring Data Rest を介して公開される Spring Data リポジトリを作成したいと思います。

問題は、私の「エンティティ」がデータベースに由来しないことです。カスタム注釈を持ち、スキャンされるクラスがいくつかあります。これにより、クライアントに公開したい情報が提供されます。

だから基本的に私は次のようなものが必要です:

@RestRepository(path="myClasses")
interface MyRepo extends Repository<MyClass, String> {
    List<MyClass> findAll();
}

class MyRepoImpl implements MyRepo {

   List<MyClass> classes;

   MyRepoImpl() {
     // fetch stuff via classpath scanning
     // and save it to "classes"
   }

   @Override
   List<MyClass> findAll() {
     return classes;
   }

}

@EnableCustomRepositoriesカスタム FactoryBean などでカスタム注釈を取得するために、Spring Data MongoDB から約 10 個のファイルをコピー & ペーストしました。そして、それはまだ機能しません...

これを行う簡単な方法はありますか?もちろん、 custom を使用できますが、他のエンティティで@Controllernice を使用することはできません。rel

私は本当に何かが必要でextends Repository<T, ID>、いくつかのカスタムメソッドを作成します。または、Spring Data Rest がandメソッドCrudRepositoryを見つけられるように使用する必要がありますか?findOnefindAll


編集:

より正確には:

Permissions私のアプリケーションには、 Spring Security で使用される多くのハードコーディングがあります。権限の各セットには、独自のクラスがあります。例えば:

@Permission
class UserPermission {
  public final static String RESET_PASSWORD = "USER_RESET_PASSWORD";
  public final static String UPDATE_PROFILE = "USER_UPDATE_PROFILE";
}

現在PermissionGroup、DB に永続化されるという永続化されたクラスもあります。これは基本的に次のとおりです。

class PermissionGroup {
  ID id;
  List<String> permissions;
}

私が望むのは、Spring Data Rest から典型的な URL を取得して、アクセス許可を公開することです。したがって、これらの URL 参照を使用して、PermissionGroup にアクセス許可を追加/削除できます。すなわち:

POST http://localhost:8080/app/permissionGroups

{
  "permissions": [
    { "href" : "http://.../permissions/USER_RESET_PASSWORD" },
    { "href" : "http://.../permissions/USER_UPDATE_PROFILE" }
  ]
}
4

1 に答える 1

-1

DBを使用するために注釈や構成を使用しないでください。エンティティクラスで指定する必要はありません。サイドセットメソッドで実装する必要があります。-

//@Entity
//@Table(name="myClass")

    class MyClass
    {

    private String name;

    public String getName(){

}

public void setName(){
this.name = "Lisa"
}

}
于 2014-04-23T11:00:47.307 に答える