問題タブ [servant]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - Servant / Wai で静的ファイルを提供する
このチュートリアルhttp://www.parsonsmatt.org/programming/2015/06/07/servant-persistent.htmlに従って、サーバントを介して API を作成しています。サーバーをカスタマイズして静的ファイルも提供したいのですが、それを行う方法が見つかりませんでした。
stack
ビルドツールを使用しています。
Main.hs
ファイルの実行をstatic
( ) を含むように変更し、run port $ static $ logger $ app cfg
インポートしNetwork.Wai.Middleware.Static (static)
ました。wai-middleware-static >=0.7.0 && < 0.71
また、cabal ファイルに追加しました。
実行すると、次のよう (更新: この部分は完全に私のエラーです。パッケージを間違った cabal ファイルに追加しました..ラメ. Network.Wai.Middleware.Static のインポートは機能し、静的ファイルを提供します。場合に備えて、以下のエラーを残します誰もがそれを検索し、役に立つと思います。)stack build
になります:
次に、サーバントserveDirectory
を次のように使用してみました (簡略化):
次のエラーが表示されます。
私は Haskell の初心者で、Wai に慣れていないため、どこから始めればよいかわかりません。静的ファイルを提供するためにブログ投稿のサンプル コードを作成するには、どのような変更が必要ですか?
編集:コメントはデフォルトのビューから非表示になるため、最後のコメントをここに貼り付けます:
これは、Matt のブログのコードのトーンダウン バージョンです。彼のすべてのモジュールを単一のファイルに統合し、すべてのデータベースのものを削除しましたが、拡張機能/インポートをクリーンアップしませんでした. このコードを実行すると、上記のタイプの不一致エラーが発生します。このコードは Network.Wai.Middleware.Static を使用せず、Servant StaticFiles の限定インポートを使用していることに注意してください。
haskell - サーバント: ファイルを multipart/form-data としてアップロード
でファイル アップロード API を実装する方法は何Servant
ですか? 「標準」を処理しようとしてmultipart/form-data
いますが、サーヴァントで宣言する方法がわかりません。
マルチパートを処理できないため、これは明らかに機能しません。
サーバントはファイルのアップロードをサポートしていますか?
rest - サーバントコンビネータは、後続の代替に失敗しません
カスタム コンビネータ: を作成しましたMultipartUpload
が、それを使用すると、それを使用するルートだけでなく、後続のすべてのルートが適用されます。
たとえば、次の API ではMultipartUpload
、2 番目と 3 番目のルートの両方で実行されます。したがって、3番目を呼び出すと、エラーが返されますFile upload required
。私はそれが2番目にのみ適用されることを望みます。どのように?
MultipartUpload
の定義方法は次のとおりです。
rest - サーバントの残りのAPIの簡単な例または「モナドを適切に混合する方法」?
サーバント 0.5 で REST API の簡単な例を作成したいと思います。
さまざまな場所で「予想される型と一致しませんでした」というエラーがたくさんあるため、コンパイルできません。「getItems」で2つの異なるモナドを混在させているためだと思います。しかしそれだけではありません。
rest - サーバントのすべてのエンドポイントにプレフィックスを追加する方法は?
私はHaskellのサーバントに一種のHello Worldアプリを持っています.これはその一部です:
URLは次のとおりです。
既存の URL や作成する他の URL にプレフィックスを追加するにはどうすればよいですか。
?