2017-08-23 9 views
1

ここで説明する例のように、私は単純なREST APIのためにJSを生成しようとしています:doc。私のコード例:Vibe.d - 残りのAPI用のJSスクリプトを生成できません

import vibe.d; 
import wbapi; 
import std.array : appender; 
import vibe.core.file; 

void main() 
{ 
    // generate JS for access 
    auto test = appender!string; 
    auto settingsJS = new RestInterfaceSettings; 

    settingsJS.baseURL = URL("http://localhost/api/integration/"); 
    generateRestJSClient!IfWhiteBlowerAPI(test, settingsJS); 
} 

およびインタフェース:

@path("/api/integration") 
    interface IfWhiteBlowerAPI 
    { 
     Json get(); 
     string postDeaf(Json obj); 
    } 

すべてが問題なくコンパイルされますが、私はどこにでも発生したJSを見つけることができません。間違った場所を探していますか?アプリプロジェクトのメインツリーですか?

+0

結果実行ファイルを実行しましたか?生成は実行時に行われます(DのCTFEはファイルシステムに書き込めません)。 – eco

+0

はい、ダブでビルドするとビルド後に自動的に実行されます。私は手動でもそれを開始しようとするが、同じ効果.. no jsファイル。 – user3069488

答えて

0

バイブレーションされたIRCチャンネルのヘルプが表示されます。生成されたJSデータを「処理する」appenderがあります。生成した後、手動でファイルに保存する必要があります。例:

import vibe.d; 
import std.stdio; 
import std.array : appender; 
import vibe.core.file; 

@path("/api/integration") 
interface IfWhiteBlowerAPI 
{ 
    Json get(); 
    string postDeaf(Json obj); 
} 

void main() 
{ 
    // generate JS for access 
    auto test = appender!string; 
    auto settingsJS = new RestInterfaceSettings; 

    settingsJS.baseURL = URL("http://localhost/api/integration/"); 
    generateRestJSClient!IfWhiteBlowerAPI(test, settingsJS); 

    auto f = File("test.js", "w"); 
    f.write(test.data); 
    f.close(); 
} 
関連する問題