Как использовать Scala спрей отделяют?

Я пытаюсь использовать спрей отделяется следующим образом:

path("") {
  get {
    detach {
      respondWithMediaType(`text/html`) { // XML is marshalled to `text/xml` by default, so we simply override here
        complete {
          <html>
            <body>
              <h1>Say hello to <i>spray-routing</i> on <i>Jetty</i>!</h1>
            </body>
          </html>
        }

      }
    }
  }
}

но я получаю следующую ошибку компиляции:

несоответствие типов; найдено: spray.routing.RequestContext => Требуется единица измерения: spray.routing.directives.DetachMagnet answerWithMediaType (text/html) {// XML распределяется по text/xml по умолчанию, поэтому мы просто переопределяем здесь ^

Я посмотрел на: https://github.com/spray/spray/wiki/Detach и до сих пор не знаю, что я делаю не так...

1 ответ

Решение

Вы просматриваете устаревшую документацию. Если вы хотите прочитать текущую документацию, вы должны посмотреть на веб-сайте http://spray.io/.

Что касается вашей проблемы, текущая документация определяет другую подпись для detach директива - см. здесь

def detach()(implicit ec: ExecutionContext): Directive0
def detach()(implicit refFactory: ActorRefFactory): Directive0
def detach(ec: ExecutionContext): Directive0

Я предполагаю, что когда вы передаете свой ExecutionContext неявным образом, вы должны написать круглые скобки:

detach() {
  respondWithMediaType(`text/html`) { // XML is marshalled to `text/xml` by default, so we simply override here
    complete { ...
Другие вопросы по тегам