LoginSignup
0
0

Akka-HTTPでCSSファイルを返す

Last updated at Posted at 2023-06-20

Akka-HTTPで嵌った点をメモ的に残しておきます。

環境

OS: Windows11
Java: OpenJDK 17.0.7
Scala: 3.3.0
Akka: 2.7.0
Akka-HTTP: 10.5.2

※ Akkaは2.7.0からBSLに変更になりましたが、僕は年間売り上げ$25million以下なので、無料で使えると考えています。

内容

まず、Akka-HTTPには、レスポンスに対して、ContentTypeを設定することができる。text/htmlとか。(厳密には、text/html(UTF-8)で指定する)
ところが、CSSを表すContentTypeはhtmlと同様には用意されていない。

どうするかというとMediaTypesを使う。

Main.scala
complete(HttpEntity(MediaTypes.`text/css` withCharset HttpCharsets.`UTF-8`, MyStyles.myRender()))

これでいける。

何がうれしいか

Content typeのヘッダをつけないと、ブラウザからCSSを読みこんだときに、htmlに適用されない。
これで、Content typeにtext/cssがついて、読みこんだファイルは無事、htmlに適用される。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0