首页 > 其他分享 >API

API

时间:2023-06-17 23:31:52浏览次数:55  
标签:tasks http GET api 接口 API

Restful api 和 传统api

1.什么是Restful API

Restful API 从字面就可以知道,他是rest式的接口,所以就要先了解什么是rest。rest 不是一个技术,也不是一个协议。rest 指的是一组架构约束条件和原则,提供了一个新的架构设计思路,满足这些约束条件和原则的应用程序或设计就是 RESTful。在REST规则中,有两个基础概念:对象、行为。对象就是我们要操作的对象,例如添加用户的操作,那么对象就是user。

行为有4种常用的:查看、创建、编辑、删除

rest的提出者很巧妙的利用http现有方法来对应这4种行为:

GET - 查看

POST - 创建

PUT - 编辑

DELETE - 删除

2.为什么用Restful API

例如常用的MVC结构中,前后端的融合还是比较紧密的,用户访问一个网址,例如:http://www.91tuoke.com/a.php,请求先发送到动态php处理,php中处理逻辑,然后使用页面模板来输出显示给用户。

以前用户主要就是用浏览器访问,这样的结构没什么问题,但现在移动客户端越来越重要,显然不能使用这个结构,需要为移动客户端开发接口。

RESTful API 就可以通过一套统一的接口为所有客户端提供web服务,实现前后端分离。

再比如在一个大型系统架构设计中,可能是多种开发语言一起工作,使用 RESTful API 就可以完全不关心开发语言,以标准的接口来协同工作

3.Restful API定义规则方法

下面通过几个示例了解下Restful API的定义方式,其实就是操作:

添加(POST)

查询(GET)

更新编辑修改(GET/POST/PUT)

删除(DELETE)

(1)查看所有任务

GET http://www.gookang.com/tasks

(2)新建一个任务

POST http://www.gookang.com/tasks

传递Data: title = Foobar

(3)根据ID查看一个任务

GET http://www.gookang.com/tasks/123

(4)更新任务

PUT http://www.gookang.com/tasks/123

传递Data: title = New

(5)删除任务

DELETE http://www.nongyejing.com/tasks/123

可以看到Restful API的风格非常简洁、统一、明确

例如查看操作,用普通方式的话,定义方式是任意的,如:

http://www.haopin.org/listall_tasks

‘listall_tasks’ 就是随意定义的,通过这个名字才可以看出是查看全部的意思,如果开发人员用了一个没有明确意义的名字,那就需要看文档或者代码才能知道含义了

而Restful API 通过 GET 方法就知道是查看操作,通过tasks就知道查看的对象是什么。


4.传统接口写法与Restful API 接口写法区别

   说到API接口设计有的喜欢用Web Service,有的喜欢用WCF,当然也有还在用最原始的ashx,aspx页面的。无论采用什么方式能很好的满足业务需求就ok,但是不同的方式在扩展性、易用性,可维护性都有一定的差别。如今移动移动互联网正如火如荼,各种终端,各种平台,各种开发语言也是层出不穷,所以要设计出能满足这些要求的API也就显得至关重要了。

一个文件操作接口,

传统模式:

api/getfile.php - 获取文件信息,下载文件

api/uploadfile.php - 上传创建文件

api/deletefile.php - 删除文件

RESTful:

api/file 只需要这一个接口

GET 方式请求 api/file - 获取文件信息,下载文件

POST 方式请求 api/file - 上传创建文件

DELETE 方式请求 api/file - 删除某个文件

这样一来简化了API接口的操作性和统一性。

标签:tasks,http,GET,api,接口,API
From: https://blog.51cto.com/u_15558311/6506758

相关文章

  • Java_Base4之多态、api使用、字符串方法学习
    一、多态Polymorphism少写代码概念:用父类的类型来接收子类的对象先决条件: 继承/接口实现 父类类型接收子类对象 //实现扩展性优点: 扩展性强,解决了代码复用,降低类型耦合度 可以少定义变量,少些重复代码。 案例:一个方法接受不同的子类类型。缺点: 不能使用子类特有方法 ......
  • 深入理解API接口:连接应用程序的关键
    在当今数字化时代,应用程序的互联互通变得至关重要。而在应用程序之间进行通信和数据交换的核心工具就是API接口。无论是在移动应用、网站开发还是系统集成领域,了解和掌握API接口的原理和使用方法都是一项重要的技能。API,全称为应用程序编程接口(ApplicationProgrammingInterface......
  • 如何通过店铺 ID 获取淘宝店铺商品数据上传至京东店铺,整店商品数据搬家,淘宝店铺所有商
    在电商行业还是销量为王,因此在很多相关行业,比如商品搬家行业都需要用到相关的商品详情信息,但是官方一般又没有开放这些接口,怎么办?  解决方案现在很多是通过爬虫获取数据,但是根本扛不住大量调用,不稳定,真能稳定获取了也不是一般人有能力去做的,加上淘宝变化频繁,防爬越来越严,技术难......
  • ServiceAccount 访问API实验
    概念SA账号是Pod内的进程使用的关联服务账号的身份,向集群的API服务器进行身份认证。SA(服务账号)是针对运行在Pod中的应用进程而言的,在Kubernetes中这些进程运行在容器中,而容器是Pod的一部分配置SAapiVersion:v1kind:ServiceAccountmetadata:name:sa-testnames......
  • 通过API接口获取淘宝商品详情的优势
    淘宝是中国最大的B2C电商平台之一,其中的淘宝商品数量大约超过5亿,是众多电商平台当中规模最大的一个,可谓是无所不能,集合了商品的数量、品种、质量、价格、促销、评价等多种信息。对于电商企业来说,淘宝的商品信息是不可或缺的,因此如何快速、方便地获取淘宝商品的详情信息是个非常重......
  • What is API Gateway Notes, API Driven Dev Notes
    APIDrivenDevelopmentWhatisAPIDrivenDevelopment?APIDrivenDevelopmentisaprocessthatallowsdeveloperstofocusonAPIdesignbeforewritingcode.Theideais,beforeyoustartwritingyoursoftware,youfirstdesignandagreeonwhattheAPIw......
  • 对接安心签第三方api(cfca)
    这里用测试企业说明 注册首先前往安心签的测试平台(安心签的技术人员给)注册账号,注册完之后报你的测试企业或者注册号码让他们审核通过; 证书下载审核通过后,安心签的技术人员会给你发两码,也就是序列号和授权码,拿到这个之后进行证书下载,进入安心签的证书格式转化测试系统,填写序列号......
  • Mediapipe实时3D目标检测和跟踪(自动驾驶实现)
    ......
  • 百度 之天气预报API接口
    文档:https://lbsyun.baidu.com/index.php?title=webapi/weather一、申请APIKey百度ak申请地址:http://lbsyun.baidu.com/apiconsole/key二、接口示例https://api.map.baidu.com/weather/v1/?district_id=行政区划编码&data_type=now&ak=应用AK返回结果:{"status":0,"result......
  • CKS 考试题整理 (14)-启用API Server认证
    Context由kubeadm创建的cluster的kubernetesAPI服务器,出于测试目的,临时配置允许未经身份验证和未经授权的访问,授予匿名用户cluster-admin的访问权限。 Task重新配置cluster的KubernetesAPl服务器,以确保只允许经过身份验证和授权的REST请求。使用授权模式Node,R......