如何将头添加到ActiveResource以创建API请求
How to add headers to ActiveResource to create API request
我有一个rails应用程序,我需要连接到外部RESTful API(而不是另一个rail应用程序),我得到了在js中工作的基本get请求,如下所示:
<h1>JavaScript in Body</h1>
<p id="demo">A Paragraph.</p>
<button type="button" onclick="myFunction()">Try it</button>
<script>
function myFunction() {
var method = "GET";
var url = "https://api.appery.io/rest/1/db/collections/Menu/";
var header = "X-Appery-Database-Id: 5476a8c5e4b05e4a44a69b0e";
var response = "response";
var xhr = new XMLHttpRequest();
xhr.open(method, url);
xhr.setRequestHeader("X-Appery-Database-Id", "5476a8c5e4b05e4a44a69b0e");
xhr.send(null);
// subscribe to this event before you send your request.
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
response = xhr.responseText;
document.getElementById("demo").innerHTML = response;
}
}
}
</script>
</body>
</html>
现在,我在rails应用程序中为我的项目提供了以下内容。rb
class Item < ActiveResource::Base
self.site = "https://api.appery.io/rest/1/db/collections/Menu/"
end
在我的show.html.erb中,我有:
<% provide(:title, @user.name) %>
<% require 'active_resource' %>
<div class="row">
<aside class="col-md-4">
<section class="user_info">
<h1>
<% item = Item.all %>
<%= item.first %>
</h1>
</section>
</aside>
</div>
我得到以下错误:
失败。响应代码=400。响应消息=错误的请求。
这是有道理的,因为我还没有包括头球,但我不知道该怎么做。activeresource页面没有任何关于添加标题的示例,我不确定您是否可以只添加self.header = "my header here"
。我应该使用activeresource还是应该使用restclient之类的东西,或者我可以使用我正在使用的javascript并将其添加到我的应用程序中?非常感谢您的帮助。
不确定您在这里到底在寻找什么。是否有理由从javascript调用API?如果你在控制器端有所有的信息,你可以使用RestClient进行一个简单的调用:
response = RestClient.post(
"https://api.appery.io/rest/1/db/collections/Menu/",
nil,
:content_type => :json, :accept => :json,
:'X-Appery-Database-Id' => "5476a8c5e4b05e4a44a69b0e")
然后,您可以解析响应,并向视图发送它所需要的内容。
相关文章:
- 使用Facebook live API创建实时视频对象时的隐私设置
- Javascript中的模块模式和揭示模块模式是否仅在创建API时有用;s
- SoundCloud API-基于系统中的ID创建用户配置文件
- 为node.js创建一个动态的restful api
- 使用html5地理位置api创建地理围栏
- 使用javascript api创建youtube的屏幕截图
- Facebook JavaScript API 是否适合创建用户帐户
- 使用 API 注册创建节点.js API 框架
- 如何将头添加到ActiveResource以创建API请求
- 使用 SwaggerJS 创建 API 工厂
- 什么'是通过用于MongoDB的RESTful JSON接口创建API的最快方法
- 模拟JSP's post方法与创建API相比
- 为twitter创建API以显示最新的5个帖子
- Web页面到API:从HTML元素创建API
- 如何使用express从单独的文件为客户端创建api
- 如何在React FLUX中创建API调用
- 环回组件存储创建api来显示文件夹
- 我如何创建API或链接到我的SVG,以便其他网站可以显示它
- 克服同源策略,以便创建api
- 如何为任何网站创建 API