如何使用法拉第发送 json

How to send json using faraday

我需要使用 linode api,在描述中它说我必须像这样使用 curl 发送数据

curl -H "Content-Type: application/json" \
    -H "Authorization: Bearer $TOKEN" \
    -X POST -d '{
        "label": "asdfasdf"
        "ssh_key": "asdfasdf"
    }' \
    https://api.linode.com/v4/profile/sshkeys

我试过使用


http = Faraday::Connection.new 'https://api.linode.com/v4/profile/sshkeys'
http.authorization :Bearer, token
http.post('', { 'label' => 'adfadf', ..}.to_json)

但每个请求都显示需要标签和 ssh_key。我不知道如何发送这个特定的请求

有人吗?

如果您要发送 json 数据,您需要在 header 中将 content-type 指定为 json。

http.post(
  '',
  { 'label' => 'adfadf', ..}.to_json,
  { 'Content-Type' => 'application/json' }
)

参考:https://lostisland.github.io/faraday/usage/