6

次のように actix-web でエンドポイントを定義しました。

#[derive(Deserialize)]
struct RenderInfo {
    filename: String,
}

fn render(info: actix_web::Path<RenderInfo>) -> Result<String> {
    // ...
}
App::new()
    .middleware(middleware::Logger::Default())
    .resource("/{filename}", |r| r.get().with(render))

私が遭遇した問題は、生の HTML がレンダリングされるのではなく、ブラウザーに表示されることです。content-type が正しく設定されていないと思います。

私が見た actix-web の例のほとんどはimpl Responder戻り型に使用されていましたが、作成された型推論の問題を修正する方法を理解できませんでした。failure::Errorその理由は、標準ベースの型を返すファイル操作に関係しているようです。actix_web には、WebError意図しないエラーの伝播をブロックするための特別な実装が必要なようです。この特定の例については、私はあまり気にしません。なぜなら、それはどちらかというと内部ツールだからです。

4

1 に答える 1