导语:谈谈restful风格API编写和接口调用,推荐给前端开发人员使用的API接口
谈谈restful风格API编写和接口调用
前言
前后端分离开发已成为主流,专业人做专业事,明确各自的分工有利于提高工作效率。然而实际开发过程中,却受到一些因素的影响。比如接口代码不规范、后端接口不自测、前端传参错误、后端返参问题等等,往往耗费了大量的时间在接口联调上,导致工作效率比较低下。有没有好的方式去提高效率呢,下面就来说说编写restful风格API和swagger接口调用
restful风格接口
简介
Restful风格API是一种软件架构、设计风格,不是标准,只提供一组设计原则和约束条件。用于客户端与服务器进行交互。基于该风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
在 Restful 风格中,用户请求的url使用同一个url而用请求方式:get、post、delete、put方式对请求的处理方法进行区分,这样可以在前后台分离式的开发中使得前端开发人员不会对请求的资源地址产生混淆和大量的检查方法名的麻烦,形成一个统一的接口。
非Restful风格弊端
1、大量方法名,多个开发项目命名混乱
2、GET和POST请求方法使用混乱,有些方法不声明具体方式,有时请求会报错
3、不够简洁,每个接口都需要命名且不能复用
实现方式
SpringMVC 的 resturl 是通过 @RequestMapping 及 @PathVariable annotation 提供的,通过如
@RequestMapping(value=”/blog /{id}”,method=RequestMethod.DELETE) 即可处理 /blog/1 的 delete 请求。
GET(查询):从服务器查询,可以在服务器通过请求的参数区分查询的 方式。
POST(创建):在服务器端新建一个资源,调用 insert 操作。
PUT(更新):在服务器端更新资源,调用 update 操作。
PATCH(更新):在服务器端更新资源(客户端提供改变的属性),很少使用
DELETE(删除):从服务器端删除资源,调用 delete 语句。
swagger接口文档
简介
swagger接口文档由后端集成,可自定义扫描的接口类,能生成浏览器可直接访问的接口文档,接口名称、入参、回参一目了然,前提是后端添加相关注解,既方便自己接口调试,也方便前端调用接口,本文重点介绍swagger实用的注解,至于集成方法可自行百度
注解
用于controller类上
@Api:对请求类的说明tags
属性:说明该类的作用
用于方法上面
@ApiOperation:方法说明
value:说明方法的作用(可省略)
@ApiImplicitParams、@ApiImplicitParam:方法参数说明@ApiImplicitParam用于指定单个参数的说明
name:参数名
value:参数说明
required:参数是否必填
dataType:参数类型
defaultValue:参数默认值
对象类
@ApiModel:用在JavaBean类上,说明JavaBean的 用途
@ApiModelProperty:用在JavaBean类的属性上面,说明此属性的含义
value:字段说明
name:重写属性名字
dataType:重写属性类型
required:是否必填
example:举例说明
hidden:隐藏
结尾语
restful风格API可通过注解明确CRUD使用的方法,约定数据传输格式,减少接口命名。swagger在线文档可使用相关注解明确接口作用及入参示例,便于自测与联调。实际开发过程中,可以加快接口联调速度,提升工作效率。
推荐给前端开发人员使用的API接口
API接口正在变得越来越重要,随着前后端的分离,前后端之间的交流就是通过API来进行沟通。如果你想要你的网站的内容是动态的,那么你就需要使用API来获取内容。作为一个前端,我们只需要有接口API,我们就能让我们的网站变得异常生动。
TMDB API
如果我们正在创建一个电影APP,那么The MovieDB API 绝对是我们最佳的选择,它提供了非常多的电影数据,包括电影的海报,演员,图片等等,它还有一些电视剧集,总之,通过它的API,你可以让你的应用变得有趣起来,而且它提供的API是免费的哦。
The NASA API
如果你是一个天文爱好者,想要开发一个天文app,那么NASA api绝对是你的首选。 它有着丰富的数据,关于天文的信息,关于月球,太阳,其他星球的知识,总之,关于天文的信息,你都能通过这个API获取到,而且它有着丰富的图库,可以让你的APP变得栩栩如生。
Frankfurter
如果你对经济学感兴趣,想开发一个关于货币走势的APP,那么Frankfurter将会是一个不错的选择,这个API是由欧洲中央银行开发的,因此它的数据绝对真实可靠,此外它还是开源的,因此你可以随意使用它。
The MealDB API
如果你是个吃货,或者说你是个美食家,想要开发一个关于美食的APP,但是你又没有精力收集各种食品的图片和相关信息的话,那么MealDB API就是你的最佳选择,这个API可以给你提供随机的食物和菜单,它不仅可以提供给你食物的做法和步骤,同时还会提供精美的图片,此外,它还会提供美食视频,总之,这是一个美食APP不可多得的API。
Count API
一个计数API,你可以用它来做很多事情,比如统计访问量,统计按钮点击次数,总之,只要有计数的地方,你都可以使用它,它就像一个计数数据库,你可以随时访问它。
FreeToGame API
如果你对游戏感兴趣,是一个资深游戏迷,想要开发一个游戏APP,那么FreeToGame API是一个不错的选择,它提供了丰富的游戏资源,你可以通过API获取到不同类型的,不同平台的游戏资源。
总结
其实网上有很多免费的API接口可以供我们使用,这些免费的接口足以让我们开发出一些精美的APP出来。永远不要抱怨我没有这个资源,我没有那个资源,有些东西都是需要自己去寻找的。
当然,如果你想要做一个属于自己的,并且出色的APP出来,你最后还是需要有自己的API接口,你可以使用nodejs做后端来自己搭建,当然也有一些云厂商提供了图形界面的api搭建工具,你需要做的就是尽可能地尝试,只有你不停地努力,你才会变得越来越好,你才会有机会变得越来越好,不要抱怨机会没有眷顾你,先看看自己是否有努力地去争取过机会。
途傲科技为中小企业提供网站制作、网站建设、微信H5、微信小程序,多商户平台,多级分销系统,APP开发,手机网站,HTML5多端自适应网站,营销型企业站建设,及对技术人才的培养等都积累与沉淀了丰富的心得和实战经验。
如果您有想法,可以将需求提交给我们【免费提交需求,获取解决方案】
免责声明:文章部分内容收集于互联网,不代表本站的观点和立场,如有侵权请联系删除。