RESTful 和webservice
文章目录1.关于RESTful2.关于webservice1.关于RESTful关于RESTful,在这个时代已经是让人耳熟能详的概念了,但是好像有没有人能把这个词解释清楚, 我认为,RESTful其实是一种基于特定uri编写风格的web项目,其本质是基于http协议web服务,说的更通俗一些,就是去搭建了一个web工程,发布到容器以后,其uri会以一种特定的形式出现,来表达不同的信息。这里...
1.关于RESTful
关于RESTful
,在这个时代已经是让人耳熟能详的概念了,但是好像有没有人能把这个词解释清楚, 我认为,RESTful
其实是一种基于特定uri
编写风格的web项目,其本质是基于http
协议web服务,说的更通俗一些,就是去搭建了一个web工程,发布到容器以后,其uri
会以一种特定的形式出现,来表达不同的信息。
这里我们以一个SpringBoot的web项目为例,来创建一个RESTful
项目。
对了,这里还是要强烈安利下SpringBoot给没有用过的童鞋,比起手动去配置SpringMVC这东西不知道方便了多少倍。
只需要在Maven中添加这两个依赖就可以了,下面的两个依赖时测试和支持热修改的包。
这这里我们依照Spring官方的样例,搭建一些RESTful
风格的API。和SpringMVC一样,写Controller
。
这里需要注意的是SpringBoot中加入的新注解@RestController
,Spring官方钦定了使用这个注解以后就不能返回JSP页面了,就是更推荐返回JSON
可以看到这是访问结果。
有人就要问了,说了半天这RESTful
不就是返回JSON的web应用吗?这样说没错,但是uri的设计必须要足够RESTful,那么怎么让自己网站的uri
风格更RESTful
,参考 RESTfulAPI
2.关于webservice
为什么要说道webservice
呢?看上去好像webservice
和RESTful
就不是一个东西,RESTful
是一种风格或者说规范(这样说其实不太准确,因为没有明确的定义),而webservice
确实是一种技术。
以今天的眼光来看,webservice
其实已经过时了,本身这个技术的出现,就是为了跨平台,但是其实最好的跨平台方式目前来看是基于HTTP
协议的web应用,当然符合RESTful
的web应用更加便捷。
比如说安卓编程经常使用到的 okhttp 来获取一些后台web服务器发布的信息。亦或者跨平台使用其他编程语言获取RESTfulAPI
发布的信息。前后端分离,更轻量级的JSON,这无疑都是最好的选择。
其实我想说的是,RESTful
算是一种取代品,webservice
本身就是一种重量级的规范,以发展的眼光来看,终究是轻量级取代重量级。
这两天学习系统间通信的时候,了解了这门技术,目前还有一些公司在使用这门技术,但是其实netty
已经是Java中成熟的通信框架,应该更多地拥抱新时代的产物,包括使用SpringBoot快速搭建这种RESTful
风格的微服务。
关于webservice
的例子我也实在懒得补上了,这篇博客写的比较乱,因为个人总结比较多,这几天准备系统的学习一下netty
在RPC框架中的作用,主要是为了学习dubbo原理吧。
更多推荐
所有评论(0)