我在这个地址中有一个 json 数据:
http://localhost:3000/api/v1/apisearch
这些 json 数据是用葡萄 gem 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
如果类型可以访问这些数据,我不想允许用户。只能从我自己的应用程序访问我的内部搜索引擎的这些数据。
我怎样才能限制从葡萄只访问我自己的应用程序的数据?
谢谢