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


    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'

  • 相关阅读:
    [编译原理读书笔记][第3章 词法分析]
    [编译原理读书笔记][第2章 一个简单的语法制导程序
    [编译原理读书笔记][第一章 引论]
    [Python爬虫笔记][随意找个博客入门(一)]
    大二下学习总结
    [操作系统][简单文件系统实现]
    Hadoop综合大作业
    hive基本操作与应用
    理解MapReduce计算构架
    熟悉HBase基本操作
  • 原文地址:https://www.cnblogs.com/mawenzhu/p/3929067.html
Copyright © 2020-2023  润新知