0

liberator body-as-string 関数と line-seq に問題があります。

(println
    (line-seq
        (BufferedReader. (StringReader. (body-as-string ctx)))
    )
)

このcurlコマンドを使用すると、関数は(h1,h2\nh3,h4\nh5,h6)代わりに戻ります(h1,h2 h3,h4 h5,h6)

curl "localhost:3000/log" -X POST -H "Content-type:text/csv" -d "h1,h2\nh3,h4\nh5,h6"

編集 :

body-as-string 関数を追加します。

(defn body-as-string
"Parcours le contexte de la requête pour en extraire le body"
[ctx]

    (timbre/debug "body-as-string")

    (if-let
        [body (get-in ctx [:request :body])]
        (condp instance? body
            java.lang.String body
            (slurp (io/reader body))
        )
    )

)

多分それはエンコーディングの問題ですか?

ありがとうございました !

4

1 に答える 1

2

あなたのシェルは実際には改行を送信していない可能性があります。この質問 (およびその回答) を確認してください: How to send line break with curl?

于 2013-07-23T10:17:46.493 に答える