0

私は問題があります。ユーザー情報を取得するために、oauth-service を使用できるサービスを構築しています。accessToken の有効期限が切れるまでデータを取得する必要があるため、ユーザーの OAuthService を永続化したいと思います (各プロバイダーによって異なります)。

データの永続化にはplay2-morphia-pluginを使用し、OAuthにはScribeを使用しています。

これが私のユーザークラスです:

package models;

import leodagdag.play2morphia.Model;
import com.google.code.morphia.annotations.Entity;
import com.google.code.morphia.annotations.Id;
import org.bson.types.ObjectId;
import org.scribe.oauth.OAuthService;


@Entity
public class User extends Model{
    @Id
    private ObjectId id;
    private List<OAuthService> services;

    //Getters and setters...
}

オブジェクトを保存できます。問題ありませんが、ロードしようとすると、デフォルトの空のコンストラクターがないため、エラーが発生します。

もしよろしければ、コードを github に載せることができますか?

4

1 に答える 1

0

私はついにそれを理解しました:)

データを格納するためのクラスを作成しました。クラス org.scribe.oauth.OAuthService にはデータが含まれていないため、シリアル化の理由はありません。

public class ServiceConnection {

    private Date accessFrom;
    private Class<? extends Api> apiClass;
    private SignatureType signatureType;
    private String apiKey;
    private String secretKey;
    private String callback;
    @Serialized
    private Token requestToken;
    @Serialized
    private Token accessToken;

    // Getter and setters..

}
于 2012-09-22T17:40:59.413 に答える