我的应用程序中有一个方法,它接受数百个用户联系人电话号码的CSV,长度不一,但长达数千个字符。在尝试执行方法时:
localhost:3000/getActivatedFriends/phoneNum1,phoneNum2,phoneNum3...phoneNum350...etc
出现以下错误:
Request-URI Too Large
WEBrick::HTTPStatus::RequestURITooLarge
在我的个人设备上,CSV中的字符数为2868.如何绕过此限制或在localhost和Heroku中设置为无限长度?
请求控制器操作: (请忽略可能的SQL注入,因为这只是在开发中)
def getActivatedFriends
@results = User.find_by_sql("SELECT
a.id
, a.username
, a.phoneNumber
FROM users a
WHERE phoneNumber in (" + params[:friends_phone_number_csv].to_s + ") and
removed = 0 and
is_user = 1;")
respond_to do |format|
format.html
format.json { render json: { friends_match: @results }}
end
end
rails route:
get '/getActivatedFriends/:friends_phone_number_csv',
to: 'requests#getActivatedFriends', via: 'post',
constraints: { friends_phone_number_csv: /([0-9]+,?)+/ }
答案 0 :(得分:0)
请改用POST请求,以解决问题。