java、restful api开发用的多不多?

网友解答: RESTful API作为一套当下非常流行的,面向资源的API设计理论,优点甚多,主要具有以下几点:透明性。能够将资源暴露出来,每个资源都有一个地址。资源本身都是方法调用的目

网友解答:

RESTful API作为一套当下非常流行的,面向资源的API设计理论,优点甚多,主要具有以下几点:

透明性。能够将资源暴露出来,每个资源都有一个地址。资源本身都是方法调用的目标,方法列表对所有资源都是一样的。

充分利用HTTP协议的语义。以往的webservice主要利用了get和post方法,并没有具体区分HTTP设计之初的意图。而REST充分利用了这一点,get方式用来获取资源,post方式用来更新资源,put方式用来新建资源,而delete资源用来删除资源。此外,还有header和options的请求方式。

无状态。并不需要考虑上下文,可以作为中间件,独立于业务。

因为RESTful架构的简单轻便,已经成为webservice的替代品,Java也推出了JAX-WS的替代品JAX-RS。此外,近几年,随着互联网应用的不断发展,很多原先庞大的Web系统已经转成基于Spring Boot和Spring Cloud设计的RESTful API架构了。

所以JAVA上,RESTful API开发还是很多的,有兴趣的可以学习一下,必然受益匪浅。

网友解答:

更新:刚才在评论说回答的不对题,题主问的是RESTful api在Java中的应用场景多不多,我就权当修正一下答案吧。回答是:多也不多。

为什么这样说,近2年参与了大大小小快6个项目了,都是前后端分离的架构。但无一例外,所有的API都没有采用RESTful API的架构,而是使用更为语义化的API命名,相对于使用GET,POST,PUT,DELETE,PATCH等HTTP动词 + 资源路径来说,我更倾向于使用比较语义化的API命名方式。

举个栗子,如果使用RESTful的API方式,展示所有动物园的API地址可能为

GET /zoos:列出所有动物园 POST /zoos:新建一个动物园

仅仅通过API地址根本无法知道是要列表还是新建操作,还不如直接改成语义化的API链接,例如:

zoos_list 列出所有动物园zoos_add 新建一个动物园

语义化的API设计,至少你在团队合作的时候,别人一眼就能看出这个API是做什么的,不像RESTful 的设计模式,还要结合HTTP动词来使用,不甚理解为什么要这么做。虽然精简了API条数,但是反而更抽象了。

当然,不能否认RESTful API的设计理念,我也是从阮一峰大神的 这篇文章(http://www.ruanyifeng.com/blog/2014/05/restful_api.html) 学到的API设计知识,如何使用,就见仁见智吧。


以下为原回答:

我觉得在现在全栈开发,前后端分离,微服务架构的趋势下,用什么语言来做服务端,生成restful的api,完全取决于团队的技术栈结构,项目规模以及客户的要求。

我所在的开发团队前端用的Vue2,后端服务端使用都是NodeJS,完全可以做到前后端并行开发,不用Java主要是因为团队成员对此没有NodeJS熟悉,开发起来还没有NodeJS速度快,同样的功能,换成Java的话可能配置环境,搭建开发框架就要折腾半天。

当然,在企业级开发上,Java语言占有体量上的优势,从各大招聘网站招聘的岗位数量上就能看出来Java在各大公司的火热程度,但是对于中小型企业公司来说,也许Java会显得过于重了,没有一个好的架构师,或者Java熟手,需要快速开发迭代一个产品的话,使用PHP,NodeJS未尝不是一个更好的选择。

所以说,用什么开发语言做服务端开发都无所谓,不要纠结用什么语言来实现产品功能,只要你用的顺手,不管黑猫白猫,抓住老鼠就是好猫。

标签: