Я успешно создал новую запись, используя API-интерфейс post, подобный этому (используя Curl::PostField
)
curl_post_fields = [
Curl::PostField.content('first_name', first_name),
Curl::PostField.content('last_name', last_name),]
contact = Curl::Easy.http_post("#{ENV['API_V1_URL']}/contacts", *curl_post_fields)
contact.ssl_verify_peer = false
contact.http_auth_types = :basic
contact.username = ENV['API_V1_USERNAME']
contact.password = ENV['API_V1_PASSWORD']
contact.perform
response = JSON.parse(contact.body_str)
но когда я обновлял запись с помощью патча, подобного этому (используя параметр запроса json):
contact = Curl.patch("#{ENV['API_V1_URL']}/contacts/#{qontak_id}",{:email => email, :gender_id => 8})
contact.ssl_verify_peer = false
contact.http_auth_types = :basic
contact.username = ENV['API_V1_USERNAME']
contact.password = ENV['API_V1_PASSWORD']
contact.perform
response = JSON.parse(contact.body_str)
я получил некоторые ошибки с сервера
Can't verify CSRF token authenticity
Filter chain halted as :authenticate rendered or redirected
также я отключил csrf protect_from_forgery with: :null_session
возможно, что использование Curl::PostField
автоматически включает csrf token
или есть ли аналогичный способ, например Curl::Postfield
в patch or put method
?