2017-04-22 12 views
1

私がGETルート持っている私のplayframeworkプロジェクトにされていますplayframeworkルートは2回だけアクセス可能

GET    /dashboard/issues     @controllers.Dashboard.getBitBucketTickets() 

メソッドを次のようになります。私はルート呼び出すと

@Singleton 
public Result getBitBucketTickets() { 

    String credentials = "J:Eb"; 
    String encoded = DatatypeConverter.printBase64Binary(credentials.getBytes()); 

    String json = null; 
    try { 
     json = new Gson().toJson(Unirest.get("https://api.bitbucket.org/1.0/repositories/t/frontend/issues?limit=5&status=new") 
       .header("Authorization", "Basic " + encoded) 
       .header("Content-Type", "application/json; charset=UTF-8") 
       .header("Accept", "application/json; charset=UTF-8").asJson()); 
    } catch (UnirestException e) { 
     System.out.println(e); 
    } 
    return ok(json); 
} 

2回Iそれは時間を呼ぶことはできません。私はプロジェクトを再開する必要があります。

この場合、何が問題になりますか?

おかげ

答えて

1

私はUnirestを使用することはありませんが、あなたが知っておく必要がありdocumentationのポイントがあります:

がUnirestはなりません 背景イベントループとJavaアプリケーションを起動します

Unirest.shutdown();

: 呼び出すことで、あなた手動でシャットダウンするまですべてのスレッドを終了することができます

通常、私はPlayでWSClientを使用します。それは完全に動作します:https://www.playframework.com/documentation/2.5.x/JavaWS

+0

私はこのことを明日試します – Felix

+0

私はこの 'WSRequest request = ws.url(url).setHeader(" Authorization "、" Basic "+ encoded).get();' setHeader ...関数でエラーが発生しました...関数setHeader()が不明です... – Felix

+1

'java.sgt'ファイルにjavaWsを1回だけ追加する必要があります:' libraryDependencies ++ = Seq( javaWs ) ' –

関連する問題