Ⅰ 前端 API 接口数据模拟 (Mock)
在前端开发的过程中,会碰到以下一些问题:
为了解决此类问题,需要使用 mock 数据和 mock 服务器来提供支持。
很多前端框架,如 Reactor、 Angular、Vue 等都带有 mock 服务,以方便开发,这里介绍的是一个独立的小工具,可以在开发者自己的机器上方便的部署和运行,模拟后端接口的返回,以方便前端模拟各种数据。特性如下:
该数据即 files 目录下面 _api_heartbeat_get.json 的内容。
直接按快捷键 CTRL+C 来停止。
GET http://127.0.0.1:1492/api/heartbeat 映射到 files_api_heartbeat_get.json
POST http://127.0.0.1:1492/api/user/create 映射到 files_api_user_create_post.json
GET http://127.0.0.1:1492/api/user?pseudo=1 映射到 files_api_user_get_1.json
POST http://127.0.0.1:1492/api/course?pseudo=2 映射到 files_api_course_post_2.json
Ⅱ rails怎么给前端写api实现前后端分离
Rails的初始准备见:Rails 处理跨站请求
准备完这个,接下来我们就只要管Control怎么写就行了。
首先来尝试一下get,最简单。
def index json_str = {"xx" => "hello"}.to_json render :json=>json_str, status=>'200' end
在这里我们用了一个to_json方法来处理,把Hash转换为json格式,to_json方法是Rails中特有的,并非Ruby本身的方法。
接着我们就可以滚去前端了:
在需要调用的位置使用:$http.get('http://localhost:3000');,这是最简单的获取方法,当然我们自然不可能获取了就走人,这只是一个测试,接下来我们要使用then来进行get之后的操作。
提示:使用$http接收之后json都会经过fromJson等一系列方法,务必保证收到的是JSON,否则会报错。
.then(function(res) { console.log(res); angular.forEach(res.data, function(value, key) { $scope.message.push({author: key, content: value}); });});
我们把get的分号去掉,加上这个,为了确定res收到的是什么,我们可以在控制台输出看一下,res.data里存储的就似乎收到的json(Object),用angular.forEach遍历即可。
这样一个简单的get就完成了。
POST相比较之下就比较折腾了,但也不是很复杂,最主要的是要确定怎么样才能获取POST的值,这里并没有像$_POST这样简单的变量。
在Controller 详解中我们知道:
如果在初始化脚本中开启了 config.wrap_parameters 选项,或者在控制器中调用了 wrap_parameters 方法,可以放心的省去 JSON 格式参数中的根键。Rails 会以控制器名新建一个键,复制参数,将其存入这个键名下。因此,上面的参数可以写成:
{ "name": "acme", "address": "123 Carrot Street" }
会自动进行转换,然后就可以用对应控制器名来访问。
这里我们检查config>initializers的对应文件夹,发现默认开启,,使用这个黑科技。
def create json_str = params[:article] json_str = json_str.to_json render :json=>json_str, status=>'200' end
我们的Controller是ArticlesController,所以很明显的这样子获取传进来的值,转换为json,接着传出(只是一个测试,理论上接下来要实验写入数据库)。
接下来开始写前端的部分:$http.post('http://localhost:3000/create', message)简单的POST操作,尝试是否成功获取到值。
post的参数非常有意思:post(url, data, [config]);其中data可以传入任意类型,他会尽可能的转换成json传入,之后获取到的值也会用fromJson尽可能的转换,供之后使用。
在post的之后是由是否成功来进行分支处理的,这里我们只写success。
.success(function(res) { console.log(res); $scope.message.push({author: res.author, content: res.content});});
一样,可以在控制台看看输出的值,会发现是一个json的Object,没有其他信息,直接使用即可。
Ⅲ 前端api是什么 AJAX请求吗
应用程序接口(英语:,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。其主要目的是让应用程序开发人员得以调用一组例程功能,而无须考虑其底层的源代码为何、或理解其内部工作机制的细节。
AJAX即“Asynchronous JavaScript and XML”(异步的JavaScript与XML技术),指的是一套综合了多项技术的浏览器端网页开发技术。AJAX应用可以仅向服务器发送并取回必须的数据,并在客户端采用JavaScript处理来自服务器的回应。
传参在API设计中的一部分,API设计要注意:
是否支持跨域请求
是公共API还是私有API(哪些客户端能访问API)
判断是不是移动设备
应该支持那些HTTP方法跟报头
API中是否支持特定的用户认证(Cookie)
新入手别慌,先做个同域的、没用户凭证的、用GET方法(都支持,不用设置)请求的API吧
Ⅳ 如何写好API接口文档
日常项目开发的过程中,接口文档是必不可少的。后端工程师与前端工程师之间需要接口文档来定义数据传输协议、系统对外暴露接口需要文档来说明、系统之间相互调用需要文档来记录接口协议等等。对于一个完整的项目,接口文档是至关重要的。那我们如何写好一份接口文档呢?今天就让我们说一说接口文档几个重要的要素。
1、接口概述
接口概述主要说明本接口文档涉及到的业务功能点,面向的阅读对象以及接口文档主要包括哪些业务的接口,可以让读者有一个直观的认识。如:本文档定义脊前了中台系统面向外部接入方的数据协议接口,主要包括:用户注册接口、同步用告野档户、授权认证等接口。适合阅读的对象为接入中台开发者或者外部合作方。这样的一段描述,对于阅读者来说可以对整个接口文档有一个大概的认识。
2、权限说明
有的接口调用需要授权认证,在这部分需要进行说明。如果接口只是基于分配的token认证,那文档需要说明token的获取方式。如果接口需要进行签名认证,需要在这里说明签名的具体方法,:
sign参数的生成规则要具体说明,最好能示例说明,如:
这样接入方可以验证自己的签名方式是否正确。
3、编码方式
接口的请求过程中可能由于编码导致乱码,所以,接口必须约定编码方式,参考以下写法:
4、请求说明
接口文档的请求说明中主要说明接口请求的域名以及请求的数据格式:袜乱如
5、接口列表
接口列表是接口文档的主要内容,这部分内容需要列出所有的接口名称、接口地址、接口的请求方式、接口的请求参数以及响应格式。在接口的请求参数中我们需要说明每个参数的含义、类型以及是否必须等属性。对于接口响应结果,如果有业务字段,也需要进行说明。下面是一个比较完整的示例:
6、状态码说明
接口的响应体一般都会带有响应的状态码,例如成功、失败等。状态码有助于接入方进行接口调用状态的判断。如:
接口文档如果能体现出以上几个要素,那可以算是一个完整的接口文档,对于接入方来说可以很好的阅读理解。
Ⅳ web前端怎么调用api接口
1、首先需要确定第三方的接口的基本信息:地址、请求方式,参数、返回值,接口模式这里第三方的接口是restful风格的,采用get请求。
Ⅵ 前端怎么调用api接口
方法/步骤
先定义一个简单的webapi,简单到差不多直接用vs2010自动生成的webapi代码。
其中的TestModle是一个简单的class,如下
public class TestModle
{
public string a { get; set; }
public string b { get; set; }
public string c { get; set; }
}