簡體   English   中英

通過 Play WS API 在正文中發送帶有參數的 POST 請求

[英]Send POST request with parameters in body via Play WS API

目前,我通過 Play WS API 發送 get 請求,如下所示:

wsClient
    .url(myUrl)
    .withQueryString(getParams(): _*)
    .get()

現在我想將此調用更改為使用 HTTP Post。 調用以下內容時:

    wsClient
        .url(myUrl)
        .withMethod("POST")
        .withBody(getParams(): _*)
        .get()

我收到以下錯誤:

無法將 Seq[(String, String)] 的實例寫入 HTTP 響應。 嘗試定義一個 Writeable[Seq[(String, String)]]

我猜這是因為方法getParams返回Seq[(String, String)]

我怎樣才能解決這個問題?

使用 http post 鍵值對時,使用內容類型application/x-www-form-urlencoded

這是發帖的代碼

 client.url(myUrl)
    .withHeaders("Content-type" -> "application/x-www-form-urlencoded")
    .post(getParams.map { case (k, v) => s"$k=$v"}.mkString("&"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM