码迷,mamicode.com
首页 > 其他好文 > 详细

如何在Rails中执行Get/Post/Put请求

时间:2014-08-22 12:41:06      阅读:358      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   os   io   for   

require open-uri
require json
require net/http
class CoupleController < ApplicationController
  skip_before_filter :verify_authenticity_token, :only => [:raw_data_put]

  def raw_date_get
    #如果有GET请求参数直接写在URI地址中
    begin
      uri = http://qa.services.theknot.com/registry/v1/couples/2170045
      html_response = nil
      open(uri) do |http|
        html_response = http.read
      end
      data = JSON.parse(html_response)
      registries=data["CoupleRegistries"]
      render json: data.has_key?("Id")
    rescue (excetpion)
      render json: excetpion
    end
  end

  def raw_data_put
    require net/http
    begin
      retailerRegistry=Hash.new()
      retailerRegistry["RetailerId"]=12160
      retailerRegistry["RetailerRegistryCode"]="cjq2I5Wc3u_zIU_QFkvy0w"
      retailerRegistry["RegistrantFirstName"]="Kelly"
      retailerRegistry["RegistrantLastName"]="Bu"
      retailerRegistry["RegistrantEmail"]="zzkelly.burch.890@gmail.com"
      retailerRegistry["CoRegistrantFirstName"]="Zacuu"
      retailerRegistry["CoRegistrantLastName"]="Wilson"
      retailerRegistry["CoRegistrantEmail"]=""
      retailerRegistry["EventDate"]="2014-11-15"
      retailerRegistry["EventTypeId"]=1
      retailerRegistry["IsDeleted"]=false
      retailerRegistry["EventDescription"]=""
      retailerRegistry["ReferralStatusCode"]=""
      retailerRegistry["EventTypeId"]=1
      retailerRegistry["City"]=""
      retailerRegistry["State"]="GA"
      retailerRegistry["Zip"]=""
      retailerRegistry["Country"]=""
      retailerRegistry["AltRetailerRegistryCode"]="TargetUCfnNSDSM"
      #port = 80
      host = qa.services.theknot.com
      path = /registry/v1/raw/retailerRegistry

      req = Net::HTTP::Put.new(path, initheader = {Content-Type => application/json})
      req.body = retailerRegistry.to_json
      response = Net::HTTP.new(host).start { |http| http.request(req) }
      puts response.code
      render json: response.code
    rescue Exception => e
      puts e.message
      puts e.backtrace.inspect
      render json: e
      #render json: ‘{"result":"failed"}‘
    end
  end

  def raw_data_post
    begin
      affiliate=Hash.new()
      affiliate["Id"]=2
      affiliate["Name"]="Test0003"
      affiliate["AffiliateCode"]="Test0003"
      affiliate["AffiliateUrl"]="Test0003"
      affiliate["Description"]="Test0003"
      host = qa.services.theknot.com
      path = /registry/v1/affiliates
      req = Net::HTTP::Post.new(path, initheader = {Content-Type => application/json})
      req.body = affiliate.to_json
      response = Net::HTTP.new(host).start { |http| http.request(req) }
      puts response.code
      render json: response.body
    rescue Exception => e
      puts e.message
      puts e.backtrace.inspect
      render json: e.message
    end
  end
 end

 

Routes:

 get ‘couple/raw_data_get‘
  put ‘couple/raw_data_put‘
  get ‘couple/raw_data_post‘

如何在Rails中执行Get/Post/Put请求,布布扣,bubuko.com

如何在Rails中执行Get/Post/Put请求

标签:des   style   blog   http   color   os   io   for   

原文地址:http://www.cnblogs.com/mawenzhu/p/3929067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!