여기 내 문제가 있습니다. 고객 중 한 명이 쿼리 문자열에 action_name을 전달하여 비누 조치에 액세스하려고합니다. wash_out gem으로 할 수 있습니까?쿼리 문자열에 액션 이름을 전달하여 비누 처리를 직접 수행하는 방법은 무엇입니까?
예를 들어, URL : 어떤 도움에 감사드립니다http://example.com/dummy_soap/action?action_name=do_something
.
여기 내 문제가 있습니다. 고객 중 한 명이 쿼리 문자열에 action_name을 전달하여 비누 조치에 액세스하려고합니다. wash_out gem으로 할 수 있습니까?쿼리 문자열에 액션 이름을 전달하여 비누 처리를 직접 수행하는 방법은 무엇입니까?
예를 들어, URL : 어떤 도움에 감사드립니다http://example.com/dummy_soap/action?action_name=do_something
.
가능합니다. send
을 사용하여 원하는 작업을 호출하십시오. 이 동작은 다른 동작이 동작 마지막에 render
을 명시 적으로 호출하는 경우에만 작동합니다. 또한 : action_name 매개 변수를 신뢰하지 마십시오. : action_name을 사용하기 전에 허용 된 작업의 화이트리스트와 비교하여 확인하고 유효하지 않은 경우 오류를 발생 시키십시오. 예를 들어
class DummySoapController < ApplicationController
soap_service namespace: 'urn:WashOut'
def action
send(params[:action_name])
end
soap_action "convert_to_string", :args => :integer, :return => :string
def convert_to_string
render :soap => params[:value].to_s
end
soap_action "convert_to_integer", :args => :integer, :return => :float
def convert_to_float
render :soap => params[:value].to_f
end
end
은 문자열 값을 사용하면 URL
http://example.com/dummy_soap/action?action_name=convert_to_string&value=1
또는 부동에게
http://example.com/dummy_soap/action?action_name=convert_to_float&value=1
감사를 얻을 수를 사용하는 것이 얻을 수 있습니다. U're는 사람이다! – emrahbasman