【发布时间】:2013-03-13 23:10:16
【问题描述】:
我在这个地址有一个json数据:
http://localhost:3000/api/v1/apisearch
这些json数据是用葡萄宝石https://github.com/intridea/grape生成的:
class API_v1 < Grape::API
version 'v1', :using => :path, :vendor => 'myapp', :format => :json
get :apisearch do
Object.search({query: "*#{params[:q]}*"}).map{ |object| {id: object.title, text: object.description } }
end
end
我有一个搜索引擎,可以使用select2从这个地址获取数据
这是我的咖啡脚本文件:
jQuery ->
$('#query_txt').select2
width: 'resolve'
allowClear: true
minimumInputLength: 2
ajax:
url: "api/v1/apisearch"
dataType: 'json'
data: (term, page) -> {q: term}
results: (data, page) ->
results: data
脚本运行良好,但我想保护这个外部请求的地址。
如果http://localhost:3000/api/v1/apisearch 类型可以访问这些数据,我不想允许用户。只能从我自己的应用程序访问我的内部搜索引擎中的这些数据。
我如何才能将数据限制为仅从葡萄访问我自己的应用程序?
谢谢
【问题讨论】:
标签: ruby-on-rails ruby json api grape