как использовать scala spray detach?

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

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>
        }

      }
    }
  }
}

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

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

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


person Jas    schedule 05.01.2014    source источник


Ответы (1)


Вы просматриваете устаревшую документацию. Если вы хотите прочитать текущую документацию, вам нужно посетить веб-сайт 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 { ...
person Arnaud Gourlay    schedule 05.01.2014