[Spray Client]: API графа Facebook возвращает неправильный тип контента

Начиная с библиотеки Spray, я попытался сделать запрос к API Graph Facebook:

val responseF: Future[HttpResponse] = pipeline(Get("http://graph.facebook.com/v2.1/facebook/picture?redirect=false"))


def receive = {
    case _ =>
      val originalSender = sender()
      responseF onComplete{
        case Success(response) =>
            log.info(response.toString)
            originalSender ! response.toString
          log.info(  """|Response for GET request
                       |status : {}
                       |headers: {}
                       |body   : {}""".stripMargin,
            response.status.value, response.headers.mkString("\n  ", "\n  ", ""), response.entity.asString)
        case Failure(error) =>
          log.error(error, "Could not get Facebook stuff")
          originalSender ! "not working"
      }

  }

Основная проблема заключается в том, что тип содержимого ответа Content-Type: text/javascript; charset=UTF-8 вместо ожидаемого application/json

Что именно не так с моей просьбой?

Как Spray сильно зависит от типа содержимого для анализа и т. д.

1 ответ

Простым решением было просто добавить заголовок подтверждения, но я не мог понять, как:

pipeline( 
    Get("http://graph.facebook.com/v2.1/facebook/picture?redirect=false").withHeaders(Accept(MediaTypes.`application/json`)) 
  ) 

Благодаря быстрому ответу на группу goolge я наконец-то получил правильный тип контента.

Другие вопросы по тегам