HTTParty post metotu ile çalışmıyor

Öncelikle herkese iyi forumlar.

Ruby on rails ile bir api sitesi yapmaya çalışıyorum ve uzaktan json dosyalarının kontrolü için httparty kütüphanesini kullanıyorum.

Sorun httparty ile login isteği attığımda istediğim json nesnesini döndürüyor ama api sitemde tanımlı /metot/new adresinde yeni bir istek oluşturduğumda başarısız oluyor.

Sorunu çözemedim yardımcı olursanız sevinirim.

Çalışan kod:

require "httparty"
require "json"
require "yaml"

url = "https://ruby-turkce-dokuman.herokuapp.com/login"

data = HTTParty.post(url,:body=>{:username=>"username",:password=>"password"})

puts JSON.parse(data.body).to_yaml

Çalışmayan kod:

require "httparty"
require "json"
require "yaml"

url = "https://ruby-turkce-dokuman.herokuapp.com/metot/new"

gönder =  {
      :name => "index",
      :desc => "Bu metot size verdiğiniz elemanın indeksini verir.",
      :example => "['a','b','c'].index('b') => 1 değerini döndürür.",
      :sinif => "Array"
   }

data = HTTParty.post(url,:body=>gönder)

puts data.body

Çıktı:

<!DOCTYPE html>
<html>
<head>
  <title>The page you were looking for doesn't exist (404)</title>
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <style>
  .rails-default-error-page {
    background-color: #EFEFEF;
    color: #2E2F30;
    text-align: center;
    font-family: arial, sans-serif;
    margin: 0;
  }

  .rails-default-error-page div.dialog {
    width: 95%;
    max-width: 33em;
    margin: 4em auto 0;
  }

  .rails-default-error-page div.dialog > div {
    border: 1px solid #CCC;
    border-right-color: #999;
    border-left-color: #999;
    border-bottom-color: #BBB;
    border-top: #B00100 solid 4px;
    border-top-left-radius: 9px;
    border-top-right-radius: 9px;
    background-color: white;
    padding: 7px 12% 0;
    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  }

  .rails-default-error-page h1 {
    font-size: 100%;
    color: #730E15;
    line-height: 1.5em;
  }

  .rails-default-error-page div.dialog > p {
    margin: 0 0 1em;
    padding: 1em;
    background-color: #F7F7F7;
    border: 1px solid #CCC;
    border-right-color: #999;
    border-left-color: #999;
    border-bottom-color: #999;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    border-top-color: #DADADA;
    color: #666;
    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  }
  </style>
</head>

<body class="rails-default-error-page">
  <!-- This file lives in public/404.html -->
  <div class="dialog">
    <div>
      <h1>The page you were looking for doesn't exist.</h1>
      <p>You may have mistyped the address or the page may have moved.</p>
    </div>
    <p>If you are the application owner check the logs for more information.</p>
  </div>
</body>
</html>

Şimdiden teşekkürler.

/metot/new endpoint’i yok ve 404 donduruyor gibi duruyor. Sorun nedir?

Hocam bu adres sorunsuzca çalışıyor ama sadece kod ile post metodu atamıyorum.
Bakmak isterseniz adres:
https://ruby-turkce-dokuman.herokuapp.com/metot/new

Hocam bu adres hata döndürüyorsa /login ekranı neden hata döndürmüyor olabilir ?

curl veya httpie gibi bir tool’la denemeni tavsiye ederim. (Onlar da calismayacak)

Adres hata dondurmuyor, sunucu adresin olmadigi bilgisini donduruyor.

/metot/new POST kabul etmiyor, GET kabul ediyor. Bunu da yanlis hata koduyla (404) soyluyor.

1 Beğeni

Hocam biraz geç cevap verdiğim için kusura bakmayın.

Hocam metot/new adresi yerine metot adresine post metodu göndermek gerekiyormuş tekrardan teşekkürler.