7

同じ URL に送信されるいくつかの異なるコンテンツ タイプをサポートしたいと考えています。

例えば:

application/x-www-form-urlencodedmultipart/form-dataapplication/json

私は次のようなことをしたいと思います:

post {
  contentType(`application/x-www-form-urlencoded`) | 
  contentType(`multipart/form-data`) {
     // user POSTed a form
     entity(as[MyCaseClass]) { data =>
        complete { data.result }
     }
  } ~ contentType(`application/json`) {
     // user POSTed a JSON object
     entity(as[MyCaseClass]) { data =>
        complete { data.result }
     }
  }
}

カスタムのマーシャリングとアンマーシャリングでこれを行う方法があると思いますが、サービスの 1 つまたは 2 つの場所でのみ必要であり、これは非常に簡単に思えます。誰か助けてくれませんか?

4

1 に答える 1