Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 为什么';我的http POST请求是否正常?_Ruby_Post_Neo4j - Fatal编程技术网

Ruby 为什么';我的http POST请求是否正常?

Ruby 为什么';我的http POST请求是否正常?,ruby,post,neo4j,Ruby,Post,Neo4j,我想用ruby做这个。但是回来 #我尝试的是: require 'rubygems' require 'net/http' require 'uri' require 'json' auto_index_nodes =URI('http://localhost:7474/db/data/index/node/') request_nodes = Net::HTTP::Post.new(auto_index_nodes.request_uri) http = Net::HTTP.new(aut

我想用ruby做这个。但是回来
#
我尝试的是:

require 'rubygems'
require 'net/http'
require 'uri'
require 'json'

auto_index_nodes =URI('http://localhost:7474/db/data/index/node/')

request_nodes = Net::HTTP::Post.new(auto_index_nodes.request_uri)
http = Net::HTTP.new(auto_index_nodes.host, auto_index_nodes.port)

request_nodes.add_field("Accept", "application/json")

request_nodes.set_form_data({"name"=>"node_auto_index",
                            "config" => {
                            "type" => "fulltext",
                            "provider" =>"lucene"} ,
                            "Content-Type" => "application/json"
                            })


response = http.request(request_nodes)
试着写下这部分:

"config" => {
             "type" => "fulltext",
             provider" =>"lucene"} ,
             "Content-Type" => "application/json"
            }
就像这样:

"config" => '{
              "type" => "fulltext",\
              "provider" =>"lucene"},\
              "Content-Type" => "application/json"\
              }'
这一尝试也无济于事:

request_nodes.set_form_data({"name"=>"node_auto_index",
                            "config" => '{ \
                            "type" : "fulltext",\
                            "provider" : "lucene"}' ,
                            "Content-Type" => "application/json"
                            })
试试这个:

require 'rubygems'
require "net/http"
require "uri"
require "json"

uri = URI.parse("http://localhost:7474/db/data/index/node/")

req = Net::HTTP::Post.new(uri.request_uri)
req['Content-Type'] = 'application/json'
req['Accept'] = 'application/json'

req.body = {
  "name" => "node_auto_index",
  "config" => { "type" => "fulltext", "provider" => "lucene" },
}.to_json    

res = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(req)
end
这是

内容类型
接受
都是标题,因此您需要将它们作为标题发送,而不是在正文中发送。JSON内容应该放在请求正文中,但您需要将哈希转换为JSON,而不是以名称/值对的形式将其作为表单数据发送。

尝试以下方法:

require 'rubygems'
require "net/http"
require "uri"
require "json"

uri = URI.parse("http://localhost:7474/db/data/index/node/")

req = Net::HTTP::Post.new(uri.request_uri)
req['Content-Type'] = 'application/json'
req['Accept'] = 'application/json'

req.body = {
  "name" => "node_auto_index",
  "config" => { "type" => "fulltext", "provider" => "lucene" },
}.to_json    

res = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(req)
end
这是


内容类型
接受
都是标题,因此您需要将它们作为标题发送,而不是在正文中发送。JSON内容应该放在请求正文中,但您需要将哈希转换为JSON,而不是以名称/值对的形式将其作为表单数据发送。

我猜这与您的服务器的响应有关,您能调试哪些服务器响应吗?我猜这与您的服务器的响应有关,您能调试哪些服务器响应吗?