rails 做api接口入门说明

一、创建一个新的api

  rails new my_api --api

  这会做三件事:

  • 用更少的中间件配置你的应用程序,尤其不包含相关浏览器应用程序的东西。
  • ApplicationController继承ActionController::API而不是继承ActionController::Base。
  • 它不会产生views、helpers和assets。

二、使用缓存中间件  

def show

  @post = Post.find(params[:id])

  if stale?(last_modified: @post.updated_at, public: true)

    render json: @post

  end

end

stale?会缓存一个url的最新修改内容。如果内容没有变,就会返回“304 Not Modified”。

三、使用 Rack::Sendfile

  当你在controller里使用发送文件方法时,它会把header设置为X-SendfileRack::Sendfile来负责发送文件。

  下面的配置可以加速文件发送:

  # Apache and lighttpd

  config.action_dispatch.x_sendfile_header = "X-Sendfile"

  # Nginx

  config.action_dispatch.x_sendfile_header = "X-Accel-Redirect"

四、使用ActionDispatch::Request

  它可以解析json格式的参数。

参考:http://guides.rubyonrails.org/api_app.html

时间: 2024-12-08 09:49:42

rails 做api接口入门说明的相关文章

食谱API接口免费开放-开发自己的健康厨房APP应用

当健康厨房 (cook.yi18.net)上线后,基于接口的需要,就很快就完成的食谱API接口的开发 文档地址:http://doc.yi18.net/cookapidoc 菜谱食谱API ,主要开放菜谱.食谱等相关的信息,打造一个健康厨房. 菜谱食谱大全的API路径 BasePath ( http://api.yi18.net/cook ) 主要包括如下功能 1.取得食谱列表 如:  http://api.yi18.net/cook/list 2.取得食谱详情 如: http://api.yi

各开放平台API接口通用 SDK 前言

最近两年一直在做API接口相关的工作,在平时工作中以及网上看到很多刚接触API接口调用的新人一开始会感到很不适应,包括自己刚开始做API接口调用的相关工作时,也是比较抓狂的,所有写一序列文章把之前的工作做个总结,二来写一个通用SDK把之前涉及到的代码封装成类库,以便以后可以更好地使用.三来对一些有需要的朋友,比如刚接触API接口调用的朋友来说,希望可以给他们提供一些帮助,一起交流,共同成长,一起进步. 今天这篇文章主要是谈一下自己的构想,SDK产品的构思,也希望园内的朋友提出自己宝贵的意见,如果

各开放平台API接口通用SDK序列文章 前言

最近两年一直在做API接口相关的工作,在平时工作中以及网上看到很多刚接触API接口调用的新人一开始会感到很不适应,要看的文档一大堆,自己要调用的接口找不着,或都找着了不知道怎么去调用,记得包括自己刚开始做API接口调用的相关工作时,也是比较抓狂的,也是硬着头皮去看各种文档,熟悉代码,在网上不断地去查找资料.所以决定写一序列文章把之前做的API接口相关的工作做个总结,二来写一个通用SDK把之前涉及到的代码封装成类库,以便以后可以更好地使用.就不用再重创轮子了,三来对一些有需要的朋友,比如刚接触AP

PaaS平台未来前瞻——API接口渠道之争

顺应互联网大开放时代的契机,提供API接口,输出某些定向能力的商用PaaS平台正在迅速抢占云计算市场,API作为一种"产品"趋势正在逐渐兴起,如果要与成熟标准的软件产品运作模式找差距,企业级API接口的渠道尚处于雏形状态. PaaS平台的定位和基因决定了其只能为用户提供API接口,最多是辅助说明性的DEMO产品,无法像标准的软件产品一样满足用户需求,这样一来,无论对能力平台使用者. 还是想要做API接口代理者而言,都有一定的技术门槛,即便是开放API领域的开拓者和领导者Google也只

初识Django —Python API接口编程入门

初识Django -Python API接口编程入门 一.WEB架构的简单介绍 Django是什么? Django是一个开放源代码的Web应用框架,由Python写成.我们的目标是用Python语言,基于Django框架,利用MVC模型,实现后台方面的针对数据库的API开发.先了解一下互联网的WEB架构, 如上图: 互联网的WEB架构大致分为三层,web层.app层和数据库层.Web层:如apache网站服务器:app层主要是应用业务:DB指后台数据库.随着互联网的高速发展,网站访问量的增长.数

豆瓣API接口开发,结合angularJS来做,感觉爽歪歪!

第一次做还是先说下API 是什么鬼? API : application program interface 应用程序编程接口: 有那些常见的API: webAPI : 通过WEB方式提供结构叫 WEBAOPI ; API : 所有有输入有输出的东西都可以称之为API  --- 都是函数: 例如:Math.random()  --- api 例如: 豆瓣API 开发平台: https://developers.douban.com/wiki/?title=guide 豆瓣API V2 (测试版)

1、API接口设计--前言

1.场景描述 比如说我们要做一款APP,需要通过api接口给app提供数据.假设我们是做商城,比如我们卖书的.我们可以想象下这个APP大概有哪些内容: 1)首页:banner区域(可以是一些热门书籍的图片做推广).本周热卖书籍区域.本月好评书籍区域.活动打折的书籍区域... 2)排行榜:比如第一季度热销榜.新书版... 3)书单:管理后台运营添加的书单,比如<程序员从入门到放弃>系列书单... 4)用户相关的:比如用户个人信息设置.订单管理.消息管理.收藏的书籍... 数据是保存在数据库中,考

Node教程——API接口开发(MangoDB+Express)

git源码 说明:源码已经全部上传到github,仓库地址: https://github.com/BM-laoli/Node-api-Design 一.大纲 大纲: 关于架构, 首先我们的有一个app.js这个就是根路由起点,用来最初的打入口 它的功能有: 1.1 引入模块创建基础的网站服务器, 1.2 导入bodyPasser,过滤还有处理我们的post请求 1.3 导入数据库连接 1.4 把路由开放出去 再来一个main.js它在我的route文件夹下, 2.1 什么需啊哟再这里做二次拦截

微信小程序API接口

微信小程序API接口 wx.request(OBJECT)   wx.request发起的是 HTTPS 请求. OBJECT参数说明: url->开发者服务器接口地址->String; data->请求的参数->Object.String; header->设置请求的 header , header 中不能设置 Referer->Object; method->默认为 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE,